[llvm-commits] PATCH: ARM_TARGET1 relocation for C++ global constructors

Jim Grosbach grosbach at apple.com
Fri Jan 13 16:41:33 PST 2012


Hi James,

This looks fine to me. Thanks for your patience!

-Jim

On Jan 11, 2012, at 2:02 AM, James Molloy wrote:

> Hi Jim,
> 
> Patch attached - it special cases Darwin to use VK_None, which is the
> default.
> 
> Cheers,
> 
> James
> 
> -----Original Message-----
> From: Jim Grosbach [mailto:grosbach at apple.com] 
> Sent: 10 January 2012 23:37
> To: James Molloy
> Cc: Evan Cheng; llvm-commits at cs.uiuc.edu LLVM; Owen Anderson; Kevin Enderby
> Subject: Re: [llvm-commits] PATCH: ARM_TARGET1 relocation for C++ global
> constructors
> 
> Hi James,
> 
> It would really help to see the rest of it, if it's not too much trouble. Is
> it really only 5 lines? I wouldn't expect it to be huge, but a bit more than
> that to declare the variant kind, handle dumping it, and mapping it to the
> appropriate relocation type. Perhaps not, though, which is pretty cool. iOS
> does want the normal relocation, yes.
> 
> -Jim
> 
> 
> 
> On Jan 10, 2012, at 2:37 PM, James Molloy wrote:
> 
>> Hi Jim,
>> 
>> Apologies, I'd accidentally missed off about 5 lines from the patch, which
> essentially just adds VK_ARM_TARGET1 and dumping facilities thereof. I'd run
> the diff against the wrong revision of our downstream copy.
>> 
>> Are you able to review the patch without those? I can get a fixed version
> in the morning (0830 GMT). I know I missed out Darwin - I'm considering
> adding a conditional on iOS to create a standard R_ABS relocation for darwin
> as is currently done - would this be correct?
>> 
>> I'm not a darwin person :/
>> 
>> Cheers
>> 
>> James
>> ________________________________________
>> From: Jim Grosbach [grosbach at apple.com]
>> Sent: 10 January 2012 21:52
>> To: James Molloy
>> Cc: Evan Cheng; llvm-commits at cs.uiuc.edu LLVM; Owen Anderson; Kevin
> Enderby
>> Subject: Re: [llvm-commits] PATCH: ARM_TARGET1 relocation for C++ global
> constructors
>> 
>> Hi James,
>> 
>> There seems to be something missing from the patch? I don't see any
> definition for VK_ARM_TARGET1, any handling for mapping the variant kind to
> a relocation type or any of that sort of thing.
>> 
>> -Jim
>> 
>> On Jan 4, 2012, at 11:12 PM, Evan Cheng wrote:
>> 
>>> Has this been reviewed?
>>> 
>>> I'm not sure if this patch is correct for all platforms, e.g. iOS. Jim,
> Kevin, and Owen, do you guys know?
>>> 
>>> Evan
>>> 
>>> On Dec 21, 2011, at 7:12 AM, James Molloy wrote:
>>> 
>>>> Hi,
>>>> 
>>>> Attached is a patch to cause the relocations for C++ global/static
> constructor thunks to be outputted properly on ARM. The ABI states that
> these thunks should have an R_ARM_TARGET1 relocation type applied to them
> for portability reasons. Currently they're emitted as normal global
> variables so get an R_ARM_ABS32.
>>>> 
>>>> I've implemented this by creating a new overridable hook,
> "EmitXXStructor()", in the AsmPrinter. For all targets this defaults to
> EmitGlobalConstant as usual, but ARM overrides it to emit a constant with
> this specific relocation type.
>>>> 
>>>> Am I OK to commit?
>>>> 
>>>> Cheers,
>>>> 
>>>> James
>>>> <reloc_arm_target1.patch>_______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>> 
>> 
>> 
>> 
>> -- IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium.  Thank you.
>> 
> 
> <target1.patch>




More information about the llvm-commits mailing list