"Andrey A. Chernov" wrote:
> On Wed, May 24, 2000 at 02:09:24PM +1000, Bruce Evans wrote:
> > > Previously it breaks system's /bin/sh so sh's trace() was wrongly renamed
> > > sh_trace() instead of fixing ncurses.
> > 
> > FYI, it may also break ftp, but the problem is only visible when ftp is lin
> > static, due to the problem with dynamic linkage in ld:
> > 
> >     /usr/src/usr.bin/ftp/cmds.c:906: warning: initialization makes integer 
    from pointer without a cast
> >     /usr/libexec/elf/ld: Warning: size of symbol `trace' changed from 4 to 
    5 in lib_trace.o
> >     /usr/libexec/elf/ld: Warning: type of symbol `trace' changed from 1 to 
> 2 in lib_trace.o
> Yes, this bug is very dangerous and many places are affected so I fix 
> it immediately.
> The fact our ld can't detect multiply definitions when linking shared is 
> another issue - I recently send this to -current, but still got no reaction.

This is by design.  The symbol search order for dynamic linking is very
clearly defined, and you *can* have lots of duplicate symbols.

"All of this is for nothing if we don't go to the stars" - JMS/B5

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

Reply via email to