TLS descriptors for ARM

Nathan Sidwell nathan@codesourcery.com
Thu Jan 6 13:51:00 GMT 2011


On 01/06/11 13:42, Alexandre Oliva wrote:
> On Jan  5, 2011, Nathan Sidwell<nathan@codesourcery.com>  wrote:

> It refers to R_ARM_TLS_DESCSEQ16 and R_ARM_TLS_DESCSEQ32, but no such
> relocations are defined in the document.  You may want to add a blurb
> about that like you did to the e-mail.

oops, I see a proof-reading malfunction.

> I suppose you meant to refer to R_ARM_THM_TLS_DESCSEQ too, although I
> don't quite understand the rationale for the THM-specific relocations;
> wouldn't non-THM relocations with odd addresses have worked?

I do not know.

> The description of IE relaxation for TLS_CALLs gives me the impression
> that a single instruction could be replaced with two.  What am I
> missing?

Are you referring to this bit:

	ldr	r0, .Lt0
.L1	add	r0, pc
	ldr	r0, [r0]
...
.Lt0:	.word	foo(gottpoff) + (. - .L1 - 4)

for thumb.

you are correct, it relaxes the 32-bit call instruction to 2 16-bit thumb 
instructions (there being no suitable 32bit thumb instruction available).

nathan
-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::         CodeSourcery



More information about the Binutils mailing list