On Sat, Jun 25, 2022 at 12:47 PM Markus Wichmann 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. > > 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 ``` > > Ciao, > Markus > > [1] https://gitlab.freedesktop.org/mesa/mesa/-/issues/966 -- 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo