Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] Why isn't __deregister_frame called anywhere in LLVM?"
2010 Sep 24
0
[LLVMdev] [PATCH] Why isn't __deregister_frame called anywhere in LLVM?
Please check in an attached patch.
Synopsys of the change: fixed the cleanup process of exception
information in JIT. Now JIT deregisters registered by it FDE structures
allowing consecutive JIT runs to succeed.
Note: tools like lli should delete ExecutionEngine object and not the
module. Module is deleted by ExecutionEngine. Also I am not sure if this
is proper for the module to be owned by
2017 Apr 09
2
Possible stack corruption during call to JITSymbol::getAddress()
Firstly, apologies if this is not the right place to be asking this
question--feel free to point me in the correct direction. I could be doing
something wrong here but stackoverflow didn't feel like the correct place
for this since there's so little there about LLVM ORC.
Basically, I have a reproduction case (below) where if I throw an exception
before I call JITSymbol::getAddress()
2017 Apr 17
2
Possible stack corruption during call to JITSymbol::getAddress()
Hi David,
This looks like bad eh-frame data due to a failure to fix up the frame
descriptor entries:
<debug: adding frame> EHFrameAddr: 0x7feae5827000, EHFrameLoadAddr:
0x00000000e5827000, EHFrameSize: 60
==64588==ERROR: AddressSanitizer: SEGV on unknown address 0x7feae5827020
(pc 0x7feae886d970 bp 0x000000000001 sp 0x7ffca10e75f8 T0)
Eyeballing the code in RuntimeDyldELF (vs
2017 Apr 20
2
Possible stack corruption during call to JITSymbol::getAddress()
Hi David,
Thanks very much for that. I'll continue to dig in as time permits, and
I'll update the bug report with my progress once it's filed.
Cheers,
Lang.
On Mon, Apr 17, 2017 at 6:42 PM, David Lurton <dlurton at gmail.com> wrote:
> Thanks Lang. I think I'll go the bug creation route. I have an email out
> to llvm-admin requesting an account on bugs.llvm.org.
2017 May 01
1
Possible stack corruption during call to JITSymbol::getAddress()
Hi David,
Sorry to hear. Has anyone followed up with you yet?
I've continued to dig in to this in my spare time and I've found the issue.
It's a use-after-free, rather than any sort of memory smashing. ORC is
currently failing to deregister the EH-frame section when the JIT is torn
down (but *is* deallocating the memory for it). Normally that's not
disastrous (though it does
2020 Aug 15
5
Supporting libunwind on Windows 10 (32bit; 64bit) for MSVC and Clang
Hello.
I was trying to compile
https://github.com/llvm/llvm-project/tree/master/libunwind using:
- MSVC
- Clang
I wasn't able to configure this project for using MSVC (directly or via
clang-cl):
>cmake -G Ninja -DLLVM_PATH="C:/Users/clang/llvm-project-10.0.1/llvm"
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX="C:\Users\clang\libunwind_llvm" ../libunwind
--
2015 Aug 25
4
GPL Software
Le 25/08/2015 20:39, Renato Golin a écrit :
> I'm also interested in knowing what you did. I think most people here
> would be glad to know your peril and how you solved it.
Stack layout:
C++ code calls
|
|
JITted C code, compiled and linked on the fly tha calls
|
|
C++ code that throws
The throw must pass through the JITted code to arrive at the catch at
the top.
2013 Apr 30
1
[LLVMdev] LLVM creates unterminated ELF .eh_frame sections
On 04/30/2013 11:53, Rafael Espíndola wrote:
> Are you trying MCJIT?:-)
No.
>
> I first tried to compensate for that in MCJIT by adding those 4 bytes.
> That works for Linux, but not for OS X where __register_frame takes a
> single FDE at a time. I have an incomplete wip patch if you are
> interested.
On BSD __register_frame also takes a single argument and therefore needs
2011 Apr 11
0
[LLVMdev] gcroot + `section not found for addresss ...' ???
The linker is going off in the weeds trying to parse the dwarf unwind info. The CIE has:
Leh_frame_common_begin0:
.long 0 ## CIE Identifier Tag
.byte 1 ## DW_CIE_VERSION
.asciz "zLR" ## CIE Augmentation
.byte 1 ## CIE Code Alignment Factor
.byte 120 ## CIE Data Alignment
2013 Apr 27
2
[LLVMdev] LLVM creates unterminated ELF .eh_frame sections
Please look at the fragment of the hex dump of LLVM-created ELF showing
the beginning and end of .eh_frame:
.eh_frame begin
000297a0 14 00 00 00 00 00 00 00 01 7a 52 00 01 78 10 01
|.........zR..x..|
000297b0 1b 0c 07 08 90 01 00 00 18 00 00 00 1c 00 00 00
|................|
<...skipped...>
0002cb00 00 00 00 00 0b 01 00 00 00 41 0e 10 86 02 43 0d
|.........A....C.|
0002cb10 06 42
2011 Apr 12
2
[LLVMdev] gcroot + `section not found for addresss ...' ???
This is an interesting problem. The GC code is being converted into 'invokes' instead of calls:
define i32 @main() gc "shadow-stack" {
entry:
%gc_frame = alloca %gc_stackentry.main
%gc_currhead = load %gc_stackentry** @llvm_gc_root_chain
%gc_frame.map = getelementptr %gc_stackentry.main* %gc_frame, i32 0, i32 0, i32 1
store %gc_map* getelementptr inbounds (%gc_map.0*
2010 Jan 22
0
[LLVMdev] Exception handling question
Hi James,
> I've been trying to get a minimal test function to work, which simply
> invokes _Unwind_RaiseException with a single clean-up landing pad.
> However. when I run it my personality function is not getting called -
> _Unwind_RaiseException simply returns apparently doing nothing. Looking
> at the x86-64 assembly output from llc, I can see this is happening
>
2013 Apr 30
0
[LLVMdev] LLVM creates unterminated ELF .eh_frame sections
> The problem with this is that __register_frame function (in libgcc_s.so),
> registering .eh_frame with an exception handler, only takes the pointer to
> .eh_frame, and not the size of data, and should be able to detect the end of
> data by scanning it and hitting zero DWORD (size). There is no trailing
> zero, and it runs into the next section and tries to interpret it as an
>
2010 Jan 22
2
[LLVMdev] Exception handling question
2010/1/22 Duncan Sands <baldrick at free.fr>
> Hi James,
>
>
> I've been trying to get a minimal test function to work, which simply
>> invokes _Unwind_RaiseException with a single clean-up landing pad. However.
>> when I run it my personality function is not getting called -
>> _Unwind_RaiseException simply returns apparently doing nothing. Looking at
2019 Oct 07
2
[RFC] Propeller: A frame work for Post Link Optimizations
We would also like to clarify on the misconceptions around CFI Instructions:
There are two things that need to be clarified here:
1) Extra CFI FDE entries for basic blocks does not mean more dynamic
instructions are executed. In fact, they do not increase at all. Krys
talked about this earlier.
2) We do deduplication of common static CFI instructions in the FDE
and move it to the CIE . Hence,
2019 Oct 16
2
message error NT_STATUS_OBJECT_NAME_NOT_FOUND regulary in the log
Le 16/10/2019 ? 12:07, Rowland penny via samba a ?crit?:
> On 16/10/2019 10:59, nathalie ramat wrote:
>> ???????????? Checking file: /etc/samba/smb.conf
>>
>> # Global parameters
>> [global]
>> ?????? dns forwarder = 192.168.xx.230
> You cannot forward to the DC itself, it needs to be a dns server
> outside the AD dns domain.
>> ?????? netbios name =
2017 Sep 26
1
Missing dwarf FDE
Hi All,
I am trying to emit dwarf debug information for my target. By using
objdump or llvm-objdump
with `--dwarf=frames`, I can only see CIE (Common Information Entry)
but not FDE (Frame
Description Entry). Right now, my target LLVM backend only emit
assembly, and let binutils
do the rest. I don't know where the problem is, is there something
wrong in my target LLVM
backend or in the
2005 Jan 03
1
[LLVMdev] Problem with LLVM CFE bootstrap at FreeBSD
I can't boostrap LLVM CFE at FreeBSD with current LLVM and LLVM CFE CVS
sources.
GCC bootstrap terminated with error:
/usr/home/wanderer/pkg/build/llvm/objcfe/gcc/xgcc -B/usr/home/wanderer/pkg/build/llvm/objcfe/gcc/
-B/home/wanderer/pkg/build
/llvm/night/cfe/i386-unknown-freebsd5.3/bin/ -B/home/wanderer/pkg/build/llvm/night/cfe/i386-unknown-freebsd5.3/lib/
-isystem
2019 Oct 02
4
[RFC] Propeller: A frame work for Post Link Optimizations
I'm a bit confused by this subthread -- doesn't BOLT have the exact same
CFI bloat issue? From my cursory reading of the propellor doc, the CFI
duplication is _necessary_ to represent discontiguous functions, not
anything particular to the way Propellor happens to generate those
discontiguous functions.
And emitting discontiguous functions is a fundamental goal of this, right?
On Wed,
2019 Oct 08
2
[RFC] Propeller: A frame work for Post Link Optimizations
Some more information about the relaxation pass whose effectiveness
and convergence guarantees were listed as a concern:
TLDR; Our relaxation pass is similar to what LLVM’s MCAssembler does
but with a caveat for efficiency. Our experimental results show it is
efficient and convergence is guaranteed.
Our relaxation pass is very similar to what MCAssembler does as it
needs to solve the same