cvs commit: src/gnu/lib/libreadline/readline Makefile

Peter Wemm peter at wemm.org
Mon Oct 18 17:55:43 PDT 2004


On Monday 18 October 2004 01:36 am, Andrey A. Chernov wrote:
> ache        2004-10-18 08:36:40 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     gnu/lib/libreadline/readline Makefile
>   Log:
>   Back out termcap -> ncurses change in LDADD/DPADD
>   It expand functions scope too wide

No.  This is wrong, and a NOP change.  Please back this out.

The reason why is because libtermcap.so is a symlink to libncurses.  And 
libncurses has a DT_SONAME of "libncurses.so.5".  This means 

peter at daintree[5:51pm]~-25> objdump --all-headers /usr/lib/libtermcap.so 
| grep SONAME
  SONAME      libncurses.so.5

Any dependencies will be silently "fixed" by ld, so no matter what, you 
end up with a DT_NEEDED of libncurses.so.5.  Except that by using the 
wrong name, you obfuscate things.

peter at daintree[5:53pm]~-30> cc -o x x.c -ltermcap
peter at daintree[5:53pm]~-31> objdump --all-headers x | grep NEED
  NEEDED      libncurses.so.5
  NEEDED      libc.so.5
peter at daintree[5:53pm]~-32> cc -shared -o x.so x.c -ltermcap
peter at daintree[5:53pm]~-33> objdump --all-headers x.so | grep NEED
  NEEDED      libncurses.so.5

-- 
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


More information about the cvs-src mailing list