Hey everybody! I have been using llvm 2.8 (i know ancient history!) for a backend that i was implementing. I have been trying to port my patches to latest llvm (svn build) lately but i have one problem as far as the Exception Handling mechanism is concerned. It seems that there are no Exception Tables generated any more such as the one below: .section .gcc_except_table,"a", at progbits .align 4 GCC_except_table0: .Lexception0: .byte 255 # @LPStart Encoding = omit .byte 3 # @TType Encoding = udata4 .uleb128 41 # @TType base offset .byte 3 # Call site Encoding = udata4 .uleb128 39 # Call site table length .Lset0 = .Leh_func_begin0-.Leh_func_begin0 # Region start .long .Lset0 .Lset1 = .Ltmp0-.Leh_func_begin0 # Region length .long .Lset1 .long 0 # Landing pad .uleb128 0 # Action .Lset2 = .Ltmp0-.Leh_func_begin0 # Region start .long .Lset2 .Lset3 = .Ltmp1-.Ltmp0 # Region length .long .Lset3 .Lset4 = .Ltmp2-.Leh_func_begin0 # Landing pad .long .Lset4 .uleb128 0 # Action .Lset5 = .Ltmp1-.Leh_func_begin0 # Region start .long .Lset5 .Lset6 = .Leh_func_end0-.Ltmp1 # Region length .long .Lset6 .long 0 # Landing pad .uleb128 0 # Action .align 4 I've searched for this but i couldn't find some documentation about the changes in the EH staff and the documentation on the website is not complete... Is there any way i can force the generation of these tables in current LLVM? Thanks in advance, Yiannis -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110902/46ed934b/attachment.html>
Hi Yiannis,> I have been using llvm 2.8 (i know ancient history!) for a backend that i was > implementing. I have been trying to port my patches to latest llvm (svn build) > lately but i have one problem as far as the Exception Handling mechanism is > concerned. It seems that there are no Exception Tables generated any more such > as the one below:got some example bitcode for which you see this (or, rather, don't see this since the problem is that you are not seeing exception tables)? Ciao, Duncan.> > .section .gcc_except_table,"a", at progbits > .align 4 > GCC_except_table0: > .Lexception0: > .byte 255 # @LPStart Encoding = omit > .byte 3 # @TType Encoding = udata4 > .uleb128 41 # @TType base offset > .byte 3 # Call site Encoding = udata4 > .uleb128 39 # Call site table length > .Lset0 = .Leh_func_begin0-.Leh_func_begin0 # Region start > .long .Lset0 > .Lset1 = .Ltmp0-.Leh_func_begin0 # Region length > .long .Lset1 > .long 0 # Landing pad > .uleb128 0 # Action > .Lset2 = .Ltmp0-.Leh_func_begin0 # Region start > .long .Lset2 > .Lset3 = .Ltmp1-.Ltmp0 # Region length > .long .Lset3 > .Lset4 = .Ltmp2-.Leh_func_begin0 # Landing pad > .long .Lset4 > .uleb128 0 # Action > .Lset5 = .Ltmp1-.Leh_func_begin0 # Region start > .long .Lset5 > .Lset6 = .Leh_func_end0-.Ltmp1 # Region length > .long .Lset6 > .long 0 # Landing pad > .uleb128 0 # Action > .align 4 > > > I've searched for this but i couldn't find some documentation about the changes > in the EH staff and the documentation on the website is not complete... Is there > any way i can force the generation of these tables in current LLVM? > > Thanks in advance, > Yiannis > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On 09/02/2011 05:58 PM, Duncan Sands wrote:> Hi Yiannis, > >> I have been using llvm 2.8 (i know ancient history!) for a backend that i was >> implementing. I have been trying to port my patches to latest llvm (svn build) >> lately but i have one problem as far as the Exception Handling mechanism is >> concerned. It seems that there are no Exception Tables generated any more such >> as the one below: > > got some example bitcode for which you see this (or, rather, don't see this > since the problem is that you are not seeing exception tables)? > > Ciao, Duncan. > >> >> .section .gcc_except_table,"a", at progbits >> .align 4 >> GCC_except_table0: >> .Lexception0: >> .byte 255 # @LPStart Encoding = omit >> .byte 3 # @TType Encoding = udata4 >> .uleb128 41 # @TType base offset >> .byte 3 # Call site Encoding = udata4 >> .uleb128 39 # Call site table length >> .Lset0 = .Leh_func_begin0-.Leh_func_begin0 # Region start >> .long .Lset0 >> .Lset1 = .Ltmp0-.Leh_func_begin0 # Region length >> .long .Lset1 >> .long 0 # Landing pad >> .uleb128 0 # Action >> .Lset2 = .Ltmp0-.Leh_func_begin0 # Region start >> .long .Lset2 >> .Lset3 = .Ltmp1-.Ltmp0 # Region length >> .long .Lset3 >> .Lset4 = .Ltmp2-.Leh_func_begin0 # Landing pad >> .long .Lset4 >> .uleb128 0 # Action >> .Lset5 = .Ltmp1-.Leh_func_begin0 # Region start >> .long .Lset5 >> .Lset6 = .Leh_func_end0-.Ltmp1 # Region length >> .long .Lset6 >> .long 0 # Landing pad >> .uleb128 0 # Action >> .align 4 >> >> >> I've searched for this but i couldn't find some documentation about the changes >> in the EH staff and the documentation on the website is not complete... Is there >> any way i can force the generation of these tables in current LLVM? >> >> Thanks in advance, >> Yiannis >>Hi Duncan, Sorry for my omission! I attach an example (test_0.ll). I do: llvm-as < test_0.ll | llc and i get output-llvm28.txt with the 2.8 versions of the tools and i repeat with the latest versions from the svn repo and i get output-llvm30.txt. As you can see there is a: .section .gcc_except_table,"a", at progbits .... in the 2.8 output just below the code segment while there is no such section in the 3.0 case! Thanks again, Yiannis -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: test_0.ll URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110902/0538c8c5/attachment.ksh> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: output-llvm30.txt URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110902/0538c8c5/attachment.txt> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: output-llvm28.txt URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110902/0538c8c5/attachment-0001.txt>