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

Reply via email to