Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Oct 1999 09:09:11 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        John Polstra <jdp@polstra.com>
Cc:        current@freebsd.org, dfr@freebsd.org
Subject:   Re: World breakage in libc_r?
Message-ID:  <Pine.BSF.4.10.9910140907140.306-100000@salmon.nlsystems.com>
In-Reply-To: <XFMail.991013143629.jdp@polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 13 Oct 1999, John Polstra wrote:

> I'm building world on an Alpha and have run into this:
> 
> building shared library libc_r.so.4
> sigpending.So: In function `sigpending':
> sigpending.S:2: multiple definition of `sigpending'
> uthread_sigpending.So(.text+0x0):uthread_sigpending.c: first defined here
> /usr/obj/a/src/tmp/usr/libexec/elf/ld: Warning: size of symbol `sigpending' changed from 68 to 36 in sigpending.So
> uthread_sigsuspend.So: In function `sigsuspend':
> uthread_sigsuspend.c(.text+0x0): multiple definition of `sigsuspend'
> sigsuspend.So:sigsuspend.S:2: first defined here
> /usr/obj/a/src/tmp/usr/libexec/elf/ld: Warning: size of symbol `sigsuspend' changed from 36 to 236 in uthread_sigsuspend.So
> *** Error code 1
> 
> I know the cause of it and I know the fix.  The cause is this:
> 
> -------------------------------------------------------------------------------
> dfr         1999/10/09 05:11:32 PDT
> 
>   Modified files:
>     lib/libc/alpha/sys   Makefile.inc 
>   Log:
>   Remove old sig* wrappers.
>   
>   Revision  Changes    Path
>   1.6       +2 -3      src/lib/libc/alpha/sys/Makefile.inc
> -------------------------------------------------------------------------------
> 
> and the fix is to add sigpending.o and sigsuspend.o to the
> definition of HIDDEN_SYSCALLS in "src/lib/libc_r/Makefile".
> 
> But there was a similar commit for the i386 a few hours later, and I
> haven't heard any complaints about this breakage on i386 systems.  I'm
> reluctant to commit the fix for the Alpha until I understand why not,
> because it will affect the i386 too.  Can any of you shed some light
> on this?

I'm pretty sure that this is the right fix. My guess as to why it didn't
pop up on i386 is that the old and new implementations were sufficiently
close in size that rounding up to 16bytes made them look identical.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 442 9037




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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9910140907140.306-100000>