[LLVMdev] Turning on exception handling codegen

Bill Wendling isanbard at gmail.com
Fri Aug 24 13:49:59 PDT 2007


Hi Duncan,

> > I'm trying it on 4.0. On 4.2, I'm getting this problem during bootstrapping:
> >
> > ccAMeZbg.s:111:non-relocatable subtraction expression,
> > "___gxx_personality_v0" minus "L0"
> > ccAMeZbg.s:111:symbol: "___gxx_personality_v0" can't be undefined in a
> > subtraction expression
>
> this is the darwin assembler that barfs, right?  It looks like it doesn't
> like the way the personality function is output in the assembler.  If so,
> you should see exactly the same problem with llvm-gcc-4.0 for any code
> containing eh constructs.  I think Anton is the guy to look into this (CC'd).
>
Yeah, I'm seeing this in 4.0 as well. It looks as if the personality
function isn't being output into the .s file. So we get something
along the lines of this:

Leh_frame_common_begin1:
        .long   0x0
        .byte   0x1
        .asciz  "zPLR"
        .byte   0x1
        .byte   0x7c
        .byte   0x8
	.byte   0x7
        .byte   0x1b
        .long   ___gxx_personality_v0-.
        .byte   0x10
	.byte   0x10
        .byte   0xc
        .byte   0x4
        .byte   0x4
        .byte   0x88
        .byte   0x1
	.align  2
Leh_frame_common_end1:

with no ___gxx_personality_v0. Have you or Anton come across this
before? If so, is there a place I can start looking? :-)

> PS: 32 bit or 64 bit?
>
It's 64-bit, which Anton says doesn't work. But I'm not sure if this
is a 64-bit specific bug.

-bw



More information about the llvm-dev mailing list