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

James Molloy James.Molloy at arm.com
Tue Jan 10 15:55:16 PST 2012


Hi Jim,

No problems. I'll have it to you in the morning, updated to support iOS properly. I dropped the ball on that one, apologies.

5 lines may have been an exaggeration, probably more like 10 :-)

Cheers,

James
________________________________________
From: Jim Grosbach [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.
>



-- 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.





More information about the llvm-commits mailing list