Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Dec 2011 22:11:31 -0500
From:      David Schultz <das@FreeBSD.ORG>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Ed Schouten <ed@80386.nl>, threads@FreeBSD.ORG, arch@FreeBSD.ORG
Subject:   Re: [Patch] C1X threading support
Message-ID:  <20111217031131.GA15194@zim.MIT.EDU>
In-Reply-To: <FCFDD684-8E39-458B-A6A0-A7FE4834B888@bsdimp.com>
References:  <20111216214913.GA1771@hoeg.nl> <20111216220914.GW50300@deviant.kiev.zoral.com.ua> <20111216221959.GB1771@hoeg.nl> <20111216223126.GX50300@deviant.kiev.zoral.com.ua> <FCFDD684-8E39-458B-A6A0-A7FE4834B888@bsdimp.com>

index | next in thread | previous in thread | raw e-mail

On Fri, Dec 16, 2011, Warner Losh wrote:
> 
> On Dec 16, 2011, at 3:31 PM, Kostik Belousov wrote:
> 
> > On Fri, Dec 16, 2011 at 11:19:59PM +0100, Ed Schouten wrote:
> >> Hello Kostik,
> >> 
> >> * Kostik Belousov <kostikbel@gmail.com>, 20111216 23:09:
> >>> If application that does not use the new interface supposed to be
> >>> able to implement function with new names, then the not-underscored
> >>> symbols must be weak.
> >> 
> >> For example when an application wants to implement its own functions
> >> that are named thrd_*(), for example?
> > Yes. The realistic example is the code written to C99/SUSv4 conformance
> > that happens to define thrd_<something>.
> > 
> > It might be that easiest solution is to put the functions into
> > separate library, besides defining them weak.
> 
> I thought the canonical solution here was to say
> 
> #if POSIX_VISIBLE >= 201201
> <prototypes here>
> #endif
> 
> Except this isn't posix. :(

In this case it's #if __ISO_C_VISIBLE >= x (with the appropriate
changes in <sys/cdefs.h> for the new standard).  That deals with
visibility issues in the compiler.  The weak symbols deal with
visibility issues in the linker.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111217031131.GA15194>