[llvm-commits] PATCH: ARM_TARGET1 relocation for C++ global constructors
James Molloy
James.Molloy at arm.com
Mon Jan 16 00:21:28 PST 2012
Hi Jim,
Thanks, I appreciate this. Anton, could you please ping me when your conflicting patch is applied and I'll commit mine then.
Cheers,
James
-----Original Message-----
From: Jim Grosbach [mailto:grosbach at apple.com]
Sent: 14 January 2012 00:42
To: James Molloy
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: [llvm-commits] PATCH: ARM_TARGET1 relocation for C++ global constructors
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>
-- 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