> Date: Fri, 1 Apr 2016 23:18:19 -0700
> From: Philip Guenther <guent...@gmail.com>
> 
> This diff tightens up internal references to exported functions, plus one 
> pointless syscall.
> 
> This is done via a namespace.h and wrapper headers like the hidden/* added 
> in the libc source.  The files are the libpthread directory as that's the 
> style of arrangement of the rthread source; some day I'll move everything 
> into subdirectories of /usr/src/lib/libpthread/ but until then a single 
> directory is fine.
> 
> This version also implements the pattern I intend to apply to libc at some 
> point, where symbols in the shared library are always strong (as the 
> shared library search order handles conflicts) and only the static library 
> have symbols that are weakened.

Trying to understand the consequences of this...

This "breaks" the case where a shared library further down the chain
provides a strong definition of a symbol and expects this to override
the definition in libpthread.  I suppose that if this is a deliberate
choice of the application writer, they should just make sure this
library gets linked before libpthread.  But what if this is a choice
made by a shared library writer?  I suppose our position is that this
isn't supported?

Reply via email to