[PATCH 1/8] ARM: assembler: introduce adr_l, ldr_l and str_l macros

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Aug 4 03:12:07 PDT 2016


On 4 August 2016 at 11:38, Dave Martin <Dave.Martin at arm.com> wrote:
> On Thu, Aug 04, 2016 at 09:40:50AM +0200, Ard Biesheuvel wrote:
>> On 3 August 2016 at 20:09, Russell King - ARM Linux
>> <linux at armlinux.org.uk> wrote:
>> > On Wed, Aug 03, 2016 at 05:38:43PM +0200, Ard Biesheuvel wrote:
>> >> +     add     \dst, pc, #:pc_g0_nc:(\sym) - 8
>> >> +     add     \dst, \dst, #:pc_g1_nc:(\sym) - 4
>> >> +     add     \dst, \dst, #:pc_g2:(\sym)
>> >
>> > What's this :pc_g0_nc: stuff?  What binutils versions is it supported
>> > in?  It doesn't appear documented in gas 2.23.91, so I don't think we
>> > can use it.
>> >
>>
>> binutils 2.18 and up
>
> I think this was contemporary with GCC 4.<some middling version>, which
> may be newer than the minimimum compiler we require for the kernel,
> particular for earlier arch versions.
>
> Using .reloc probably allows the same thing to be done in a more
> backwards-compatible way.
>

I don't see how LD would know how to handle these relocations if we do
manage to emit them from GAS in this way.



More information about the linux-arm-kernel mailing list