weak implementation of threads has problems - kse fix attached
kris at obsecurity.org
Tue Jun 8 07:23:39 GMT 2004
On Tue, Jun 08, 2004 at 03:41:27PM +1000, John Birrell wrote:
> On Tue, Jun 08, 2004 at 01:34:33AM -0400, Daniel Eischen wrote:
> > On Tue, 8 Jun 2004, John Birrell wrote:
> > > [ cross-post lists cut back, ports added 8-) ]
> > >
> > > On Mon, Jun 07, 2004 at 11:48:45PM -0500, Dan Nelson wrote:
> > > > A good addition to bsd.port.mk, right next to the "possible network
> > > > server" etc checks, might be to run ldd on all installed shared
> > > > libraries and print a warning if any threads libraries show up. There
> > > > are a huge number of ports that install shlibs linked to libpthreads.
> > >
> > > Good idea.
> > Just picking a message at random to reply to...
> > In case anyone wonders why we don't use strong references, I chose to
> > mimic what Solaris does:
> > bash-2.05$ nm /lib/libpthread.so.1 | grep pthread_mutex_lock
> > 0000000000003c80 T _pthread_mutex_lock
> > 0000000000003c80 W pthread_mutex_lock
> > bash-2.05$ nm /lib/libc.so.1 | grep pthread_mutex_lock
> > 0000000000096c38 W _pthread_mutex_lock
> > 0000000000096c38 W pthread_mutex_lock
> > It is also easy to provide your own version of pthread_foo() without
> > having any strong references override it.
> Despite the heat-of-the-moment on amd64, FWIW, using linpthread on i386
> on a clean machine with NOLIBC_R set in /etc/make.conf, nothing in libmap.conf
> and just normal ports builds, gnome, mplayer, mozilla, openoffice etc work
> fine for me on current (except for the ACPI kernel problems which should
> either be fixed or backed out IMNSHO).
Yeah, some time last year I went through and fixed or marked BROKEN
all the ports that link explicitly to libc_r, and I think they've all
been fixed to use PTHREAD_LIBS.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20040608/87abce4c/attachment-0001.bin
More information about the freebsd-ports