atom feed17 messages in org.freebsd.freebsd-currentRe: World breakage in libc_r?
FromSent OnAttachments
John PolstraOct 13, 1999 2:36 pm 
Doug RabsonOct 14, 1999 1:08 am 
Marcel MoolenaarOct 14, 1999 3:16 am 
Wilko BulteOct 14, 1999 9:45 am 
Kenneth Wayne CulverOct 14, 1999 12:09 pm 
Daniel EischenOct 14, 1999 12:20 pm 
John PolstraOct 14, 1999 2:06 pm 
John BirrellOct 14, 1999 2:19 pm 
Daniel EischenOct 14, 1999 2:34 pm 
John PolstraOct 14, 1999 2:44 pm 
John BirrellOct 14, 1999 2:53 pm 
Daniel EischenOct 14, 1999 3:25 pm 
David O'BrienOct 15, 1999 8:38 am 
Wilko BulteOct 15, 1999 11:09 am 
John BirrellOct 15, 1999 3:07 pm 
pa...@phoenix.volant.orgOct 15, 1999 3:23 pm 
John PolstraOct 17, 1999 10:16 am 
Subject:Re: World breakage in libc_r?
From:Doug Rabson (df@nlsystems.com)
Date:Oct 14, 1999 1:08:49 am
List:org.freebsd.freebsd-current

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.

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