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>