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