search for: dw_eh_pe_absptr

Displaying 10 results from an estimated 10 matches for "dw_eh_pe_absptr".

2014 Mar 17
2
[LLVMdev] Treatment of TType encoding in EHT entries
...ts entry in the execption table: GCC_except_table20: .Lexception20: .byte 255 @ @LPStart Encoding = omit .byte 0 @ @TType Encoding = absptr .ascii "\314\001" @ @TType base offset So it definitely uses DW_EH_PE_absptr as TType encoding. The personality routine in the Objective-C runtime library reads the type table record and interpretes the data in it as an absolute pointer that is used without any further adjustment - but obviously the value isn't a valid pointer, so this leads to a crash. Now I wonde...
2010 Jan 22
2
[LLVMdev] Exception handling question
...;, at progbits .align 4 GCC_except_table153: .byte 0x0 # Padding .Lexception153: .byte 0xFF # @LPStart format (DW_EH_PE_omit) .byte 0x0 # @TType format (DW_EH_PE_absptr) .uleb128 28 # @TType base offset .byte 0x3 # Call site format (DW_EH_PE_udata4) .uleb128 26 # Call site table size .long .Llabel291-.Leh_func_begin153...
2010 Jan 22
0
[LLVMdev] Exception handling question
...GCC_except_table153: > .byte 0x0 # Padding > .Lexception153: > .byte 0xFF # @LPStart format > (DW_EH_PE_omit) > .byte 0x0 # @TType format > (DW_EH_PE_absptr) > .uleb128 28 # @TType base offset > > .byte 0x3 # Call site format > (DW_EH_PE_udata4) > .uleb128 26 # Call site table size > .long .Llabel291-.L...
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 >
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...); > + } > + > + unsigned char* DwarfExceptionTable = (unsigned char*)MCE- > >getCurrentPCValue(); > + > + // Emit the header. > + MCE->emitByte(dwarf::DW_EH_PE_omit); > + // Asm->EOL("LPStart format (DW_EH_PE_omit)"); > + MCE->emitByte(dwarf::DW_EH_PE_absptr); > + // Asm->EOL("TType format (DW_EH_PE_absptr)"); > + MCE->emitULEB128Bytes(TypeOffset); > + // Asm->EOL("TType base offset"); > + MCE->emitByte(dwarf::DW_EH_PE_udata4); > + // Asm->EOL("Call site format (DW_EH_PE_udata4)"); > +...
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:
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
2008 Apr 17
1
[LLVMdev] Being able to know the jitted code-size before emitting
Thx again Evan for the review. Here's a new patch for the JIT in itself. The major changes are: 1) A JITMemoryManager now has a flag saying "I require to know the size of what you want to emit" 2) DwarfJITEmitter is augmented with GetSize* functions 3) JITEmitter::startFunction checks if the JITMemoryManager requires to know the size. If so, it computes it and gives it through the
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...tInt8(0); > + // Asm->EOL("Padding"); > + } > + > + unsigned char* DwarfExceptionTable = CurBufferPtr; > + > + // Emit the header. > + EmitInt8(dwarf::DW_EH_PE_omit); > + // Asm->EOL("LPStart format (DW_EH_PE_omit)"); > + EmitInt8(dwarf::DW_EH_PE_absptr); > + // Asm->EOL("TType format (DW_EH_PE_absptr)"); > + EmitULEB128Bytes(TypeOffset); > + // Asm->EOL("TType base offset"); > + EmitInt8(dwarf::DW_EH_PE_udata4); > + // Asm->EOL("Call site format (DW_EH_PE_udata4)"); > + EmitULEB128Byt...
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