[LLVMdev] Turning on exception handling codegen

Jonas Maebe jonas.maebe at elis.ugent.be
Fri Aug 24 13:43:59 PDT 2007


On 24 Aug 2007, at 22:11, Duncan Sands wrote:

> Hi Bill,
>
>> 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).

In my experience, you can work around this sort of errors on Darwin  
using the following trick (also employed by gcc normally):

	.set L$set$4,Lj93-Lj95
         .long   L$set$4

(the .set can also come after the use of the set expression). I've  
never really understood the reason for the requirement of this detour.


Jonas






More information about the llvm-dev mailing list