Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 21 Oct 2019 17:50:30 -0700
From: Fangrui Song <>
To: Rich Felker <>
Subject: Re: [PATCH] remove remaining traces of __tls_get_new

On 2019-09-29, Rich Felker wrote:
>On Sun, Sep 29, 2019 at 03:05:27PM +0200, Szabolcs Nagy wrote:
>> reported on irc by malc_
>> >From 4a7090ab76d81b59f57a83bce9d22582e35a8b2b Mon Sep 17 00:00:00 2001
>> From: Szabolcs Nagy <>
>> Date: Sun, 29 Sep 2019 12:25:39 +0000
>> Subject: [PATCH] remove remaining traces of __tls_get_new
>> Some declarations of __tls_get_new were left in the code, even
>> though the definition got removed in
>>   commit 9d44b6460ab603487dab4d916342d9ba4467e6b9
>>   install dynamic tls synchronously at dlopen, streamline access
>> this can make the build fail with
>>   ld: lib/ hidden symbol `__tls_get_new' isn't defined
>> when is linked without --gc-sections, because a .hidden
>> declaration in asm code creates a reference even if the symbol
>> is not actually used.
>This is definitely a tooling bug. There is no reference to the symbol,
>only declarations of it. I think it's a good idea to cleanup the
>spurious mentions of it anyway, though.

I think it is hard to simply state that this is a tooling bug.
For the visibility attribute of a symbol, it may still be emitted into
the symbol table even if it is unused. For example:

.protected foo => STV_PROTECTED foo
.hidden foo => STV_HIDDEN foo

A relocation referencing a symbol may be dropped due to --gc-sections.
Shall we consider the symbol unused if all relocations to it are

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.