On Tue, 1 Jun 2010, Ludovic Courtès wrote:
On Tue, 1 Jun 2010, Ludovic Courtès wrote:
Hello,
GNU Guile relies on TLS (thread-local storage) support where available,
and can live without it on inferior systems. However, I haven’t found a
reliable way to check whether TLS is supported.
Why aren't you using the POSIX TLS APIs?
Because using __thread allows you to choose a more efficient TLS model
without changing your code (see
<http://people.redhat.com/drepper/tls.pdf>), and because it requires
less initialization-related code.
I can see why this ELF-based TLS extension is attractive (especially
when updating old code) but it seems wrong for portable software like
guile to be using it and therefore penalizing standard environments
which don't support it. It seems best reserved for OS-specific
libraries which have no need to be portable.
Operating systems and compilers not supporting this non-standard
extension are not 'inferior' because it is a non-standard extension.
If they fail to implement a standard interface then they can be called
'inferior'.
You will likely find that 'valgrind' is not particularly friendly or
helpful to diagnose memory problems in applications using this
extension.
Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool