Date: Fri, 20 Jun 2003 17:17:12 -0400 (EDT) From: Daniel Eischen <eischen@vigrid.com> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: threads@freebsd.org Subject: Re: TLS: defining the problem space Message-ID: <Pine.GSO.4.10.10306201711430.23504-100000@pcnet5.pcnet.com> In-Reply-To: <20030620205945.GA19212@dhcp01.pn.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Jun 2003, Marcel Moolenaar wrote: > If both libc and pthread provide weak definitions, then how do we > guarantee correct binding in the complete, with pthread and dynamic > TLS case. If libc and RTLD provide weak definitions, then how do we > guarantee proper binding in the shared, without pthread and dynamic > TLS case? I don't know if it helps, but here's some info from a Solaris 9 box (UltraSparc): gpz $ nm /usr/lib/libc.so.1 | grep tls_ gpz $ nm /usr/lib/ld.so.1 | grep tls_ [829] | 0| 0|FUNC |GLOB |0 |UNDEF |Dbg_tls_modactivity [875] | 0| 0|FUNC |GLOB |0 |UNDEF |Dbg_tls_static_block [568] | 221816| 4|OBJT |LOCL |0 |15 |fptr_tls_modadd [569] | 221820| 4|OBJT |LOCL |0 |15 |fptr_tls_modrem [570] | 221824| 4|OBJT |LOCL |0 |15 |fptr_tls_statmods [220] | 85632| 84|FUNC |LOCL |0 |10 |tls_assign_soffset [140] | 85176| 96|FUNC |LOCL |0 |10 |tls_freemodid [116] | 84808| 368|FUNC |LOCL |0 |10 |tls_getmodid [361] | 85348| 284|FUNC |LOCL |0 |10 |tls_modactivity [64] | 85716| 688|FUNC |LOCL |0 |10 |tls_report_modules [398] | 85272| 76|FUNC |LOCL |0 |10 |tls_setroutines [572] | 221832| 4|OBJT |LOCL |0 |15 |tls_static_size gpz $ nm /usr/lib/libthread.so.1 | grep tls_ [986] | 90128| 60|FUNC |GLOB |0 |10 |__tls_get_addr [287] | 85584| 228|FUNC |LOCL |0 |10 |__tls_mod_add [71] | 85812| 72|FUNC |LOCL |0 |10 |__tls_mod_remove [178] | 85260| 324|FUNC |LOCL |0 |10 |__tls_static_mods [448] | 85884| 392|FUNC |LOCL |0 |10 |slow_tls_get_addr [403] | 86488| 296|FUNC |LOCL |0 |10 |tls_exit [52] | 86784| 148|FUNC |LOCL |0 |10 |tls_free [611] | 167144| 24|OBJT |LOCL |0 |17 |tls_lock [410] | 172176| 8|OBJT |LOCL |0 |20 |tls_modinfo [252] | 168712| 40|OBJT |LOCL |0 |19 |tls_rtldinfo [407] | 86276| 212|FUNC |LOCL |0 |10 |tls_setup gpz $ nm /usr/lib/libpthread.so.1 | grep tls_ libthread seems to be the only one defining __tls_get_addr(). -- Dan Eischen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10306201711430.23504-100000>