|
Message-ID: <20220625055157.5vy2pbvbdljgo2p3@gmail.com> Date: Fri, 24 Jun 2022 22:51:57 -0700 From: Fangrui Song <i@...kray.me> To: musl@...ts.openwall.com Cc: mesa-dev@...ts.freedesktop.org Subject: Re: Fwd: mesa | Remove USE_ELF_TLS macro (!17213) On 2022-06-25, 罗勇刚(Yonggang Luo) wrote: >On Sat, Jun 25, 2022 at 12:47 PM Markus Wichmann <nullplan@....net> wrote: >> >> On Sat, Jun 25, 2022 at 11:36:09AM +0800, 罗勇刚(Yonggang Luo) wrote: >> > So I am confused. What's the situation about ELF-TLS support in musl? >> > Is that still broken now? >> >> musl has always supported ELF-TLS anywhere except in libc itself. That >> was also never the problem. The problem was that the mesa people select >> the initial-exec TLS model explicitly, even though libGL ends up being >> dlopen()ed quite often, and then you should be using the general-dynamic >> model instead. > >My question is does musl support ELS-TLS when using dl-open. It is supported. For shared objects using the initial-exec TLS model, they must be at load time (DT_NEEDED), not via dlopen. See https://maskray.me/blog/2021-02-14-all-about-thread-local-storage for background. > >> >> According to [1], Rich proposed dropping the initial-exec attribute and >> replacing it with -mtls-dialect=gnu2 eight years ago. Has that happened >> yet? If so, dlopen()ing libGL with musl ought to work. > >`initial-exec` are only specified for __GLIBC__, If musl not predefined >macro ` __GLIBC__` >``` >#if defined(__GLIBC__) >#define __THREAD_INITIAL_EXEC thread_local >__attribute__((tls_model("initial-exec"))) >#define REALLY_INITIAL_EXEC >#else >#define __THREAD_INITIAL_EXEC thread_local >#endif >``` On x86, you may enable (currently GCC only) -mtls-dialect=gnu2 to get performance boost. It's just a tiny bit slower than initial-exec. I added x86-32 TLSDESC and mixed TLS GD/TLSDESC support to lld 14 after I saw the -mtls-dialect=gnu2 build system improvement in mesa :) > >> >> Ciao, >> Markus >> >> [1] https://gitlab.freedesktop.org/mesa/mesa/-/issues/966 > > > >-- > 此致 >礼 >罗勇刚 >Yours > sincerely, >Yonggang Luo
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.