Doug Rabson wrote:
> 
> On Wed, 13 Oct 1999, John Polstra wrote:
> 
> > 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
> >
> > and the fix is to add sigpending.o and sigsuspend.o to the
> > definition of HIDDEN_SYSCALLS in "src/lib/libc_r/Makefile".
> >
> 
> 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.
> 

I've just committed this. I'm also pretty sure this is the right fix. I
don't know why ld/i386 doesn't complain. It may be a bug, because the
difference in size is probably more than 16 bytes. Compare for example
sigprocmask, it originally also wasn't added to HIDDEN_SYSCALLS and
therefore was also defined twice. I'm very much surprised if both
versions end op being the same size...

-- 
Marcel Moolenaar                        mailto:[EMAIL PROTECTED]
SCC Internetworking & Databases           http://www.scc.nl/
The FreeBSD project                mailto:[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to