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?
John
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message