[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building shared libraries at configuration time

From: Bob Friesenhahn
Subject: Re: Building shared libraries at configuration time
Date: Tue, 1 Jun 2010 09:48:48 -0500 (CDT)
User-agent: Alpine 2.01 (GSO 1266 2009-07-14)

On Tue, 1 Jun 2010, Ludovic Courtès wrote:
On Tue, 1 Jun 2010, Ludovic Courtès wrote:


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
<>), 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 Friesenhahn
GraphicsMagick Maintainer,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]