[PATCH][AARCH64] Allow the TLS GD sequence to be split

Sofiane Naci sofiane.naci@arm.com
Thu Feb 21 12:48:00 GMT 2013


Hi,

The AArch64 BFD linker currently expects that the TLS GD instructions are
sequential:

   add     x0, x0, #0x0     R_AARCH64_TLSGD_ADD_LO12_NC
   bl      __tls_get_addr   R_AARCH64_CALL26
   nop

Given that we have different relocs on the ADD and the BL, we can improve
relaxation to work on the two instructions even when they are not
sequential. This will allow the compiler to break the sequence above if
better scheduling can be achieved.

I've also added new LD tests to check relaxations happen as expected when
the instructions above are not sequential.

Thanks
Sofiane
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aarch64-split-bdf-relax.patch
Type: application/octet-stream
Size: 6511 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20130221/9315240c/attachment.obj>


More information about the Binutils mailing list