search for: dw_cfa_def_cfa

Displaying 19 results from an estimated 19 matches for "dw_cfa_def_cfa".

2016 Jan 20
2
Getting _eh_frame parser for llvm
...once about this and I haven’t yet been able to find the cause of the issue. Igor, the failures I saw on a number of bots were complaining about one of the CHECK lines in the test case (test/tools/llvm-objdump/eh_frame-arm64.test)I adapted in the given review. The line in question was: # CHECK: DW_CFA_def_cfa: reg31 +0 but the bots complained saying that there was no 'DW_CFA_def_cfa: reg31 +0’ but there was a 'DW_CFA_def_cfa: reg0 +31’. That led me to thinking there was an endian issue and that different bots were reading either 0 or 31 in the different parts of this instruction. Unfortunatel...
2016 Jan 20
2
Getting _eh_frame parser for llvm
> On 20 January 2016 at 09:21, Igor Laevsky via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> Hi all, >> >> Not so long ago we have found ourselves in need of a robust _eh_frame parser. All we wanted is the ability to parse .eh_frame section emitted by LLVM's MCJIT. Considering this, LLVM would be a natural place for implementing such parser. >>
2009 Sep 18
0
[LLVMdev] OT: intel darwin losing primary target status
...run dwarfdump --eh-frame on the .o files made with the new compiler, you'll see extra dwarf unwind instructions at the end like: ... DW_CFA_advance_loc4 (64) #<-- advance to near end of function DW_CFA_restore (rbp) DW_CFA_def_cfa (rsp, 8) DW_CFA_nop DW_CFA_nop The linker's conversion to compact unwind "runs" the dwarf unwind info for a function and then records the state at the end. Adding unwind info for the epilog breaks this. In the long term, I can add heuristics...
2010 Sep 01
2
[LLVMdev] "Cannot fine DIE"
...out about 4000 lines and then segfaults, The last lines that it prints out are: .debug_frame contents: 0x00000000: CIE length: 0x00000010 CIE_id: 0xffffffff version: 0x01 augmentation: "" code_align: 1 data_align: -4 ra_register: 0x08 DW_CFA_def_cfa (4 (esp), 4) DW_CFA_offset (8 (eip), 0) DW_CFA_nop DW_CFA_nop Instructions: Init State: CFA=esp+4 eip=[CFA] 0x00000014: FDE length: 0x00000028 CIE_pointer: 0x00000000 I'm not sure how the contents of this structure relate to t...
2009 Sep 18
2
[LLVMdev] OT: intel darwin losing primary target status
On Fri, Sep 18, 2009 at 11:13:52AM -0700, Nick Kledzik wrote: > > The important thing is that only one unwinder is used. The > _Unwind_Context data structure is different between the darwin and FSF > implementations, so you can't pass it between two different > implementations. Since darwin uses two-level namespace and swapping in > a new libgcc_s.dylib at runtime
2010 Jan 22
0
[LLVMdev] Exception handling question
...# Personality .byte 27 # LSDA Encoding (pcrel sdata4) .byte 27 # FDE Encoding (pcrel sdata4) .byte 12 # DW_CFA_def_cfa .uleb128 7 # Register .uleb128 8 # Offset .byte 144 # DW_CFA_offset + Reg (16) .uleb128 1 # Offset .align 8 .Leh_frame_common_end:...
2010 Jan 22
2
[LLVMdev] Exception handling question
...# LSDA Encoding > (pcrel sdata4) > .byte 27 > # FDE Encoding > (pcrel sdata4) > .byte 12 > # DW_CFA_def_cfa > .uleb128 7 # Register > .uleb128 8 # Offset > .byte 144 > # DW_CFA_offset > + Reg (16) > .uleb128 1...
2010 Sep 01
0
[LLVMdev] "Cannot fine DIE"
On 01 Sep 2010, at 08:47, Talin wrote: > Once again, I have no idea what this means or how to go about > debugging it. > This is my biggest frustration with DIFactory - there's absolutely > no way to > verify that the DWARF debugging information that I've emitted into > my module > is correct or even sensible. The only way to test it is to try and > debug
2010 Sep 01
0
[LLVMdev] "Cannot fine DIE"
...at it prints out are: > > .debug_frame contents: > > 0x00000000: CIE > length: 0x00000010 > CIE_id: 0xffffffff > version: 0x01 > augmentation: "" > code_align: 1 > data_align: -4 > ra_register: 0x08 > DW_CFA_def_cfa (4 (esp), 4) > DW_CFA_offset (8 (eip), 0) > DW_CFA_nop > DW_CFA_nop > Instructions: Init State: CFA=esp+4 eip=[CFA] > > > 0x00000014: FDE > length: 0x00000028 > CIE_pointer: 0x00000000 > > > I'm...
2010 Jan 21
4
[LLVMdev] Exception handling question
Hi, I'm trying to get exception handling working in my compiler targetting LLVM. I've been working from the LLVM exception handling documentation (including http://llvm.org/docs/ExceptionHandling.html and http://wiki.llvm.org/HowTo:_Build_JIT_based_Exception_mechanism) and looking at g++-llvm's output. I've been trying to get a minimal test function to work, which simply invokes
2010 Jan 22
0
[LLVMdev] Exception handling question
...# LSDA Encoding >> (pcrel sdata4) >> .byte 27 >> # FDE Encoding >> (pcrel sdata4) >> .byte 12 >> # >> DW_CFA_def_cfa >> .uleb128 7 # Register >> .uleb128 8 # Offset >> .byte 144 >> # DW_CFA_offset >> + Reg (16) >>...
2010 Sep 01
2
[LLVMdev] "Cannot fine DIE"
On Sat, Aug 28, 2010 at 10:58 PM, Talin <viridia at gmail.com> wrote: > On Sat, Aug 28, 2010 at 4:05 PM, Talin <viridia at gmail.com> wrote: > >> On Mon, Aug 23, 2010 at 5:58 PM, Devang Patel <devang.patel at gmail.com>wrote: >> >>> >>> On Sun, Aug 22, 2010 at 12:50 PM, Talin <viridia at gmail.com> wrote: >>> >>>> I
2009 Sep 18
5
[LLVMdev] OT: intel darwin losing primary target status
...e on the .o files made with the new compiler, > you'll see extra dwarf unwind instructions at the end like: > > ... > DW_CFA_advance_loc4 (64) #<-- advance to near end of > function > DW_CFA_restore (rbp) > DW_CFA_def_cfa (rsp, 8) > DW_CFA_nop > DW_CFA_nop > > The linker's conversion to compact unwind "runs" the dwarf unwind info > for a function and then records the state at the end. Adding unwind > info for the epilog breaks this. In the long term,...
2010 Sep 05
2
[LLVMdev] More DIFactory questions - still stumped
...nes before the segfault look like this: .debug_inlined contents: < EMPTY > .debug_frame contents: 0x00000000: CIE length: 0x00000010 CIE_id: 0xffffffff version: 0x01 augmentation: "" code_align: 1 data_align: -4 ra_register: 0x08 DW_CFA_def_cfa (esp, 4) DW_CFA_offset (eip, 0) DW_CFA_nop DW_CFA_nop Instructions: Init State: CFA=esp+4 eip=[esp+4] 0x00000014: FDE length: 0x00000028 CIE_pointer: 0x00000000 Segmentation fault If I grep through the output of dwarfdump, there a...
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...cal = true; > + } > + > + // If advancing cfa. > + if (Dst.isRegister() && Dst.getRegister() == > MachineLocation::VirtualFP) { > + if (!Src.isRegister()) { > + if (Src.getRegister() == MachineLocation::VirtualFP) { > + EmitInt8(dwarf::DW_CFA_def_cfa_offset); > + } else { > + EmitInt8(dwarf::DW_CFA_def_cfa); > + EmitULEB128Bytes(RI->getDwarfRegNum(Src.getRegister(), > true)); > + } > + > + int Offset = -Src.getOffset(); > + > + EmitULEB128Bytes(Offset); > + }...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...> + >> + // If advancing cfa. >> + if (Dst.isRegister() && Dst.getRegister() == >> MachineLocation::VirtualFP) { >> + if (!Src.isRegister()) { >> + if (Src.getRegister() == MachineLocation::VirtualFP) { >> + EmitInt8(dwarf::DW_CFA_def_cfa_offset); >> + } else { >> + EmitInt8(dwarf::DW_CFA_def_cfa); >> + EmitULEB128Bytes(RI->getDwarfRegNum(Src.getRegister(), >> true)); >> + } >> + >> + int Offset = -Src.getOffset(); >> + >> + Emit...
2007 Dec 10
2
[LLVMdev] Exception handling in JIT
Hi everyone, Here's a patch that enables exception handling when jitting. I've copy/pasted _many_code from lib/Codegen/DwarfWriter.cpp, so we may need to factorize it, but the functionality is there and I'm very happy with it :) lli should now be able to execute the output from llvm-gcc when using exceptions (the UnwindInst instruction is not involved in this patch). Just add the
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...ue; > + } > + > + // If advancing cfa. > + if (Dst.isRegister() && Dst.getRegister() == > MachineLocation::VirtualFP) { > + if (!Src.isRegister()) { > + if (Src.getRegister() == MachineLocation::VirtualFP) { > + MCE->emitByte(dwarf::DW_CFA_def_cfa_offset); > + } else { > + MCE->emitByte(dwarf::DW_CFA_def_cfa); > + MCE->emitULEB128Bytes(RI- > >getDwarfRegNum(Src.getRegister(), true)); > + } > + > + int Offset = -Src.getOffset(); > + > + MCE->emitULEB128Bytes...
2008 Feb 01
2
[LLVMdev] Exception handling in JIT
Dear all, Here's a new patch with Evan's comments (thx Evan!) and some cleanups. Now the (duplicated) exception handling code is in a new file: lib/ExecutionEngine/JIT/JITDwarfEmitter. This patch should work on linux/x86 and linux/ppc (tested). Nicolas -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: jit-exceptions.patch URL: