Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jan 2000 20:55:17 +0000
From:      Brian Somers <brian@Awfulhak.org>
To:        Jason Evans <jasone@canonware.com>
Cc:        Brian Somers <brian@Awfulhak.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, brian@hak.lan.Awfulhak.org
Subject:   Re: cvs commit: src/lib/libc_r/uthread uthread_accept.c uthread_aio_suspend.c uthread_bind.c uthread_connect.c uthread_dup.c uthread_dup2.c uthread_execve.c uthread_exit.c uthread_fchflags.c uthread_fchmod.c uthread_fchown.c uthread_flock.c uthread_fork.c ... 
Message-ID:  <200001302055.UAA06344@hak.lan.Awfulhak.org>
In-Reply-To: Message from Jason Evans <jasone@canonware.com>  of "Sun, 30 Jan 2000 10:52:12 PST." <20000130105212.K73462@sturm.canonware.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> On Sun, Jan 30, 2000 at 01:36:20PM +0000, Brian Somers wrote:
> > > On Sat, Jan 29, 2000 at 02:53:58PM -0800, Jason Evans wrote:
> > > >   Log:
> > > >   Use __strong_reference() instead of __weak_reference() to assure that the
> > > >   weak symbols of the same name are not used.
> > > 
> > > It looks like it's going to take an 'installworld' or 'includes', then a
> > > 'world' in order for this to take effect, since the 'buildworld' uses the
> > > installed version of cdefs.h.  Oh well.  It doesn't break the world, and
> > > it's no more broken than using __weak_reference(), so I went ahead and
> > > committed it.
> > > 
> > > In other words, unless you take special action, libc_r won't start working
> > > correctly until you've built and installed the world twice.
> > 
> > There *may* be something funny still going on with _exit()...  I'm 
> > trying to rebuild X (as my window manager was killed by the recent 
> > C++ library breakage^Wchanges, so now's as good a time as any), and 
> > have had problems that I can't claim to understand but are still 
> > breaking ports/x11/XFree86 after a very short way into the 
> > compilation.
> > 
> > Doing another make world now....
> 
> As near as I can tell from looking at libc.a and libc_r.a, there shouldn't
> be a problem.  In the case of libc, _exit() is a weak alias for __exit(),
> which in turn calls the exit syscall, and in the case of libc_r, _exit() is
> a strong alias for __exit(), which calls _thread_sys__exit(), which calls
> the exit syscall.
> 
> A simple test program confirms that exit() and _exit() work fine, both with
> libc and libc_r.
> 
> There was a period of about 18 hours, two days ago, where I may have broken
> _exit().  _exit() is generated using PPSEUDO(), and this is the *only* use
> of PPSEUDO().  If you continue having problems, please let me know, and
> I'll try to help.

It's clear now - thanks.

> Thanks,
> Jason

-- 
Brian <brian@Awfulhak.org>                        <brian@FreeBSD.org>
      <http://www.Awfulhak.org>;                   <brian@OpenBSD.org>
Don't _EVER_ lose your sense of humour !          <brian@FreeBSD.org.uk>




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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