[LLVMdev] mesa-10.4.4: BROKEN TLS support in GLX with llvm-toolchain v3.6.0rc2

Dimitry Andric dimitry at andric.com
Tue Feb 10 05:17:29 PST 2015


On 09 Feb 2015, at 18:52, Sedat Dilek <sedat.dilek at gmail.com> wrote:
> 
> On Mon, Feb 9, 2015 at 6:44 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>> On 07/02/15 22:42, Sedat Dilek wrote:
...
>>> In file included from ../../src/mapi/entry.c:49:
>>> ./entry_x86-64_tls.h:66:1: warning: tentative array definition assumed
>>> to have one element
>>> x86_64_entry_start[];
>>> ^
>>> fatal error: error in backend: symbol 'x86_64_entry_start' is already defined
...
>> It may be that it's a bug on our end, but it's a bit painful going
>> through all the auto generated sources, the 10+ define guards and other
>> magic that's inside src/mapi. Getting some idea on llvm/clang behaviour
>> change should help out :-)
>> 
>> Please open a bug-report with llvm and/or mesa, so that we have all the
>> info in one place and things don't get lost.
>> 
> 
> I am unsure if it is a bug in llvm/clang or in mesa.
> Shall I open 2 bug-reports - in mesa and llvm BTS?

Please have a look at this PR, which I opened in May 2014, and which is about the same issue:

  http://llvm.org/PR19778

The assertion seems to have been transformed now into a backend error, but this may also be because you built clang without assertions. (Did you?)

In any case, the workaround is to change the static symbols into extern symbols, together with a hidden visibility attribute (as suggested by Rafael EspĂ­ndola), similar to the fix I posted in this FreeBSD port bug:

  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192286

E.g., you can use these patches:

https://svnweb.freebsd.org/ports/head/graphics/libGL/files/patch-src__mapi__entry_x86-64_tls.h?view=markup
https://svnweb.freebsd.org/ports/head/graphics/libGL/files/patch-src__mapi__entry_x86_tls.h?view=markup
https://svnweb.freebsd.org/ports/head/graphics/libGL/files/patch-src__mapi__entry_x86_tsd.h?view=markup

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150210/fbcb2d6d/attachment.sig>


More information about the llvm-dev mailing list