[patch bfd]: Fix generation of .tls directory entry

Kai Tietz ktietz70@googlemail.com
Tue Dec 21 11:03:00 GMT 2010


2010/12/20 Dave Korn <dave.korn.cygwin@gmail.com>:
> On 20/12/2010 19:46, Kai Tietz wrote:
>
>> Well, the issue here is that, if a .tls section is present, it needs
>> to be put into directory entry.
>
>  As I read the spec, the directory entry should point only and exactly to the
> actual MS-defined TLS struct pointed to by the __tls_used symbol.  That was
> why I asked about whether it's always the case that we can assume a .tls
> section is exactly that and nothing else.
>
>> Why this isn't happening anymore, I am a bit puzzled too.
>
>  I think we should investigate this first.  Got a testcase?
>
>    cheers,
>      DaveK
>

I found the issue. The cause for this is that bfd searches for
'__tls_used', which is the underscored version of '_tls_used'
variable. Caused by the fact that x64 windows doesn't prefix symbols
by underscore, the symbol wasn't found, as it remains '_tls_used'.

So we have two chances here to solve this: a) Change for windows x64
the symbol to '__tls_used', or b) search in bfd for x64 windows for
'_tls_used' instead of '_tls_used'.

Kai
-- 
|  (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination



More information about the Binutils mailing list