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>
