* [devel] list of libraries within binaries (for sale or rent!) @ 2005-10-08 12:00 Alexey Tourbin 2005-10-08 13:02 ` Dmitry V. Levin ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Alexey Tourbin @ 2005-10-08 12:00 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 9838 bytes --] On Sat, Oct 08, 2005 at 02:08:42PM +0400, Alexey Tourbin wrote: > $ head product > libgcj3.3 /usr/lib/libgcj.so.4.0.0 libgcj3.3-debug /usr/lib/debug/libgcj.so.4.0.0 B A > libgcj3.3 /usr/lib/libgcj.so.4.0.0 libgcj3.4 /usr/lib/libgcj.so.5.0.0 B A > libgcj3.3 /usr/lib/libgcj.so.4.0.0 libgcj3.4-debug /usr/lib/debug/libgcj.so.5.0.0 B A > libgcj3.4 /usr/lib/libgcj.so.5.0.0 libgcj3.3 /usr/lib/libgcj.so.4.0.0 B A > libgcj3.4 /usr/lib/libgcj.so.5.0.0 libgcj3.3-debug /usr/lib/debug/libgcj.so.4.0.0 B A > libgcj3.4 /usr/lib/libgcj.so.5.0.0 libgcj3.4-debug /usr/lib/debug/libgcj.so.5.0.0 B A > libinn /usr/lib/libstorage.so.2.0.0 inn /usr/bin/nnrpd B ACTIVE > libinn /usr/lib/libstorage.so.2.0.0 inn /usr/bin/tdx-util B ACTIVE > libfreewrl /usr/lib/libFreeWRLFunc.so freewrl /usr/lib/perl5/vendor_perl/i386-linux/auto/VRML/VRMLFunc/VRMLFunc.so D AC_LastDuration > libfreewrl /usr/lib/libFreeWRLFunc.so freewrl /usr/lib/perl5/vendor_perl/i386-linux/auto/VRML/VRMLFunc/libFreeWRLFunc.so D AC_LastDuration > $ > > Ну ясно, что получается. Слева -- системная библиотека, справа -- > бинарь (возможно, другая системная библиотека), которая предоставляет > такой же символ. Теперь ничего не стоит получить список бинарей, которые подозреваются в том, что статически слинкованы с библиотеками. $ cut -f2,4 product |sort |uniq -cd >suspect $ du -hs suspect 816K suspect $ head suspect 51 /lib/libaal-1.0.so.5.0.0 /lib/libaal-minimal.so.0.0.0 2 /lib/libaal-1.0.so.5.0.0 /usr/lib/libgift.so.0.0.0 2 /lib/libaal-1.0.so.5.0.0 /usr/lib/libmpfc-1.3.5.so 51 /lib/libaal-minimal.so.0.0.0 /lib/libaal-1.0.so.5.0.0 4 /lib/libanl-2.3.5.so /usr/lib/debug/libanl-2.3.5.so 12 /lib/libattr.so.1.1.0 /lib/libc-2.3.5.so 12 /lib/libattr.so.1.1.0 /usr/lib/debug/libc-2.3.5.so 2 /lib/libattr.so.1.1.0 /usr/lib/libncurses.so.5.4 24 /lib/libbz2.so.1.0.3 /usr/lib/R/bin/R.bin 24 /lib/libbz2.so.1.0.3 /usr/lib/R/bin/libR.so $ В первой колонке здесь число совпадающих символов, которые предоставляют два эти (во второй и тертьей колонке) бинаря. `uniq -d' исключает одиночные случайные совпадения. Опять проверяем, где у нас zlib. $ fgrep libz.so suspect 17 /lib/libz.so.1.2.3 /usr/bin/Xvnc 2 /lib/libz.so.1.2.3 /usr/bin/pose 29 /lib/libz.so.1.2.3 /usr/bin/xmule 41 /lib/libz.so.1.2.3 /usr/games/scorched3d 41 /lib/libz.so.1.2.3 /usr/lib/OpenOffice.org1.1.4/program/libmozz.so 48 /lib/libz.so.1.2.3 /usr/lib/R/bin/R.bin 48 /lib/libz.so.1.2.3 /usr/lib/R/bin/libR.so 31 /lib/libz.so.1.2.3 /usr/lib/erlang/erts-5.4/bin/beam 31 /lib/libz.so.1.2.3 /usr/lib/erlang/erts-5.4/bin/beam.shared 13 /lib/libz.so.1.2.3 /usr/lib/firefox-1.0.6/install/mozilla-installer-bin 13 /lib/libz.so.1.2.3 /usr/lib/firefox-1.0.6/mozilla-installer-bin 21 /lib/libz.so.1.2.3 /usr/lib/j2se1.3-sun/jre/lib/i386/libzip.so 19 /lib/libz.so.1.2.3 /usr/lib/libphysfs-1.0.so.0.0.0 2 /lib/libz.so.1.2.3 /usr/lib/perl5/vendor_perl/i386-linux/auto/Math/Pari/Pari.so 19 /usr/lib/libphysfs-1.0.so.0.0.0 /lib/libz.so.1.2.3 $ Следущие две строчки: 19 /lib/libz.so.1.2.3 /usr/lib/libphysfs-1.0.so.0.0.0 19 /usr/lib/libphysfs-1.0.so.0.0.0 /lib/libz.so.1.2.3 означают, что нельзя определить, кто из библиотек "главнее", поэтому показано и так и сяк. На самом деле ясно, что libphysfs статически слинкован с libz, а не наоборот. Вот довольно актуальный экстракт из списка. $ awk '$1>9&&$2~"^/lib/"&&$3~"bin/"' suspect 24 /lib/libbz2.so.1.0.3 /usr/lib/R/bin/R.bin 24 /lib/libbz2.so.1.0.3 /usr/lib/R/bin/libR.so 25 /lib/libc-2.3.5.so /usr/bin/wine-kthread 68 /lib/libdb-4.2.so /usr/bin/berkeley_db_svc 46 /lib/libdb-4.2.so /usr/bin/db_printlog 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_archive 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_checkpoint 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_deadlock 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_dump 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_load 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_printlog 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_recover 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_stat 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_upgrade 112 /lib/libdb-4.2.so /usr/lib/kdevbdb/bin/db_verify 541 /lib/libdb-4.2.so /usr/sbin/mysqld 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_archive 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_checkpoint 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_deadlock 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_dump 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_load 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_printlog 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_recover 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_stat 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_upgrade 76 /lib/libdb-4.3.so /usr/lib/kdevbdb/bin/db_verify 491 /lib/libdb-4.3.so /usr/sbin/mysqld 14 /lib/libgcc_s.so.1 /usr/bin/glaxium 14 /lib/libgcc_s.so.1 /usr/lib/j2se1.3-sun/bin/i386/native_threads/java_vm 14 /lib/libgcc_s.so.1 /usr/lib/j2se1.3-sun/jre/bin/i386/native_threads/java_vm 20 /lib/libglib-1.2.so.0.0.10 /usr/bin/sfidl 14 /lib/libhistory.so.4.3 /bin/bash 44 /lib/libhistory.so.4.3 /usr/bin/m68k-palmos-gdb 27 /lib/libhistory.so.4.3 /usr/sbin/asterisk 13 /lib/libiptables.so.0.0 /usr/sbin/fetchipac 29 /lib/libiptc.so.0.0 /usr/sbin/fetchipac 13 /lib/liblvm-10.so.1.0 /usr/sbin/lvm 21 /lib/libnetlink.so /sbin/tc 19 /lib/libnfsidmap.so.0.1.0 /sbin/rpc.idmapd 16 /lib/libnss_winbind.so /usr/bin/net 16 /lib/libnss_winbind.so /usr/bin/nmblookup 16 /lib/libnss_winbind.so /usr/bin/ntlm_auth 16 /lib/libnss_winbind.so /usr/bin/pdbedit 32 /lib/libnss_winbind.so /usr/bin/rpcclient 16 /lib/libnss_winbind.so /usr/bin/smbcacls 16 /lib/libnss_winbind.so /usr/bin/smbclient 16 /lib/libnss_winbind.so /usr/bin/smbcontrol 16 /lib/libnss_winbind.so /usr/bin/smbcquotas 32 /lib/libnss_winbind.so /usr/bin/smbfilter 16 /lib/libnss_winbind.so /usr/bin/smbget 16 /lib/libnss_winbind.so /usr/bin/smbmount 16 /lib/libnss_winbind.so /usr/bin/smbpasswd 16 /lib/libnss_winbind.so /usr/bin/smbsh 16 /lib/libnss_winbind.so /usr/bin/smbspool 16 /lib/libnss_winbind.so /usr/bin/smbstatus 16 /lib/libnss_winbind.so /usr/bin/smbtree 16 /lib/libnss_winbind.so /usr/bin/smbwrapper.so 16 /lib/libnss_winbind.so /usr/bin/testparm 16 /lib/libnss_winbind.so /usr/bin/testprns 16 /lib/libnss_winbind.so /usr/bin/vfstest 16 /lib/libnss_winbind.so /usr/bin/wbinfo 16 /lib/libnss_winbind.so /usr/sbin/nmbd 16 /lib/libnss_winbind.so /usr/sbin/smbd 16 /lib/libnss_winbind.so /usr/sbin/swat 16 /lib/libnss_winbind.so /usr/sbin/winbindd 18 /lib/libnss_wins.so /usr/bin/gkrellm 1718 /lib/libnss_wins.so /usr/bin/net 1328 /lib/libnss_wins.so /usr/bin/nmblookup 1455 /lib/libnss_wins.so /usr/bin/ntlm_auth 1279 /lib/libnss_wins.so /usr/bin/pdbedit 3436 /lib/libnss_wins.so /usr/bin/rpcclient 1718 /lib/libnss_wins.so /usr/bin/smbcacls 1718 /lib/libnss_wins.so /usr/bin/smbclient 1284 /lib/libnss_wins.so /usr/bin/smbcontrol 1718 /lib/libnss_wins.so /usr/bin/smbcquotas 3436 /lib/libnss_wins.so /usr/bin/smbfilter 1718 /lib/libnss_wins.so /usr/bin/smbget 1718 /lib/libnss_wins.so /usr/bin/smbmount 1718 /lib/libnss_wins.so /usr/bin/smbpasswd 1228 /lib/libnss_wins.so /usr/bin/smbsh 1718 /lib/libnss_wins.so /usr/bin/smbspool 1284 /lib/libnss_wins.so /usr/bin/smbstatus 1718 /lib/libnss_wins.so /usr/bin/smbtree 1724 /lib/libnss_wins.so /usr/bin/smbwrapper.so 30 /lib/libnss_wins.so /usr/bin/sweep 34 /lib/libnss_wins.so /usr/bin/tdbbackup 30 /lib/libnss_wins.so /usr/bin/tdbdump 30 /lib/libnss_wins.so /usr/bin/tdbtool 1279 /lib/libnss_wins.so /usr/bin/testparm 1233 /lib/libnss_wins.so /usr/bin/testprns 1718 /lib/libnss_wins.so /usr/bin/vfstest 1279 /lib/libnss_wins.so /usr/bin/wbinfo 12 /lib/libnss_wins.so /usr/bin/xemacs-mule 12 /lib/libnss_wins.so /usr/bin/xemacs-mule-nextaw 12 /lib/libnss_wins.so /usr/bin/xemacs-nox-mule 1718 /lib/libnss_wins.so /usr/sbin/nmbd 14 /lib/libnss_wins.so /usr/sbin/pppd 1718 /lib/libnss_wins.so /usr/sbin/smbd 1718 /lib/libnss_wins.so /usr/sbin/swat 1718 /lib/libnss_wins.so /usr/sbin/winbindd 22 /lib/libpopt.so.0.0.0 /usr/bin/botti 22 /lib/libpopt.so.0.0.0 /usr/bin/irssi 22 /lib/libpopt.so.0.0.0 /usr/bin/orbit-idl 13 /lib/libproc-3.2.5.so /usr/bin/free 11 /lib/libproc-3.2.5.so /usr/bin/top 11 /lib/libproc-3.2.5.so /usr/bin/vmstat 65 /lib/libpthread-0.10.so /usr/bin/wine-kthread 30 /lib/libreadline.so.4.3 /bin/bash 17 /lib/libreadline.so.4.3 /usr/bin/gdb 16 /lib/libreadline.so.4.3 /usr/bin/lftp 387 /lib/libreadline.so.4.3 /usr/bin/m68k-palmos-gdb 30 /lib/libreadline.so.4.3 /usr/sbin/asterisk 17 /lib/libz.so.1.2.3 /usr/bin/Xvnc 29 /lib/libz.so.1.2.3 /usr/bin/xmule 48 /lib/libz.so.1.2.3 /usr/lib/R/bin/R.bin 48 /lib/libz.so.1.2.3 /usr/lib/R/bin/libR.so 31 /lib/libz.so.1.2.3 /usr/lib/erlang/erts-5.4/bin/beam 31 /lib/libz.so.1.2.3 /usr/lib/erlang/erts-5.4/bin/beam.shared $ > Нужно теперь подумать, что делать с этим списком. > Я бы его кому-нибудь продал. Всего ничего, доллар за мегабайт. :) Список suspect тоже продается. ;) [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 12:00 [devel] list of libraries within binaries (for sale or rent!) Alexey Tourbin @ 2005-10-08 13:02 ` Dmitry V. Levin 2005-10-08 13:11 ` Dmitry V. Levin ` (2 more replies) 2005-10-08 13:06 ` [devel] Q: libattr Dmitry V. Levin 2005-10-08 13:47 ` [devel] list of libraries within binaries (for sale or rent!) Alexander Bokovoy 2 siblings, 3 replies; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 13:02 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1771 bytes --] On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > 14 /lib/libhistory.so.4.3 /bin/bash > 30 /lib/libreadline.so.4.3 /bin/bash > 17 /lib/libreadline.so.4.3 /usr/bin/gdb > 16 /lib/libreadline.so.4.3 /usr/bin/lftp Что-то здесь не так: $ grep 'readline.*/usr/bin/lftp' product libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_attempted_completion_function libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_attempted_completion_over libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_char_is_quoted_p libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_completer_quote_characters libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_completer_word_break_characters libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_completion_display_matches_hook libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_display_prompt libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_end libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_filename_completion_desired libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_filename_dequoting_function libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_filename_quote_characters libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_ignore_some_completions_function libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_last_func libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_line_buffer libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B _rl_mark_modified_lines libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_prompt - наверное, неправильно трактуются некоторые типы символов. Кстати, интересно: $ grep -wc xmalloc def 81 -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 13:02 ` Dmitry V. Levin @ 2005-10-08 13:11 ` Dmitry V. Levin 2005-10-08 14:26 ` [devel] " Alexey Tourbin 2005-10-08 13:48 ` Alexey Tourbin 2005-10-08 21:13 ` [devel] " Dmitry V. Levin 2 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 13:11 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 297 bytes --] On Sat, Oct 08, 2005 at 05:02:38PM +0400, Dmitry V. Levin wrote: > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > Что-то здесь не так: [...] > - наверное, неправильно трактуются некоторые типы символов. Из той же серии: $ grep -wc optarg product 1955 -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: list of libraries within binaries (for sale or rent!) 2005-10-08 13:11 ` Dmitry V. Levin @ 2005-10-08 14:26 ` Alexey Tourbin 2005-10-08 14:33 ` Dmitry V. Levin 0 siblings, 1 reply; 19+ messages in thread From: Alexey Tourbin @ 2005-10-08 14:26 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 692 bytes --] On Sat, Oct 08, 2005 at 05:11:55PM +0400, Dmitry V. Levin wrote: > On Sat, Oct 08, 2005 at 05:02:38PM +0400, Dmitry V. Levin wrote: > > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > > Что-то здесь не так: > [...] > > - наверное, неправильно трактуются некоторые типы символов. > > Из той же серии: > > $ grep -wc optarg product > 1955 1737 B optind 1927 B stdin 1944 B optarg 3536 B stdout 5441 B stderr (Цифры немного другие, потому что у меня не совсем свежий локальный дамп.) Что-то я не совсем понимаю. Почему stdout и stderr оказываются в бинаре, а не ссылаются на библиотечные переменные (U)? [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Re: list of libraries within binaries (for sale or rent!) 2005-10-08 14:26 ` [devel] " Alexey Tourbin @ 2005-10-08 14:33 ` Dmitry V. Levin 2005-10-08 15:07 ` Alexey Tourbin 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 14:33 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 888 bytes --] On Sat, Oct 08, 2005 at 06:26:23PM +0400, Alexey Tourbin wrote: > On Sat, Oct 08, 2005 at 05:11:55PM +0400, Dmitry V. Levin wrote: > > On Sat, Oct 08, 2005 at 05:02:38PM +0400, Dmitry V. Levin wrote: > > > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > > > Что-то здесь не так: > > [...] > > > - наверное, неправильно трактуются некоторые типы символов. > > > > Из той же серии: > > > > $ grep -wc optarg product > > 1955 > > 1737 B optind > 1927 B stdin > 1944 B optarg > 3536 B stdout > 5441 B stderr > > (Цифры немного другие, потому что у меня не совсем свежий локальный > дамп.) Что-то я не совсем понимаю. Почему stdout и stderr оказываются > в бинаре, а не ссылаются на библиотечные переменные (U)? У "B" и "S" немного другой смысл; наверное, это где-то документировано. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: list of libraries within binaries (for sale or rent!) 2005-10-08 14:33 ` Dmitry V. Levin @ 2005-10-08 15:07 ` Alexey Tourbin 0 siblings, 0 replies; 19+ messages in thread From: Alexey Tourbin @ 2005-10-08 15:07 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 710 bytes --] On Sat, Oct 08, 2005 at 06:33:30PM +0400, Dmitry V. Levin wrote: > > (Цифры немного другие, потому что у меня не совсем свежий локальный > > дамп.) Что-то я не совсем понимаю. Почему stdout и stderr оказываются > > в бинаре, а не ссылаются на библиотечные переменные (U)? > > У "B" и "S" немного другой смысл; наверное, это где-то документировано. Я делал статистику символов, "S" в dynamilcally linked/shared ELF вообще нигде нет. Впрочем, где-нибудь могла быть ошибка, достаточно предъявить несколько ELF'ов с "S" символами. [devel] Re: rpmelfsym 25 2 a 54 1 v 5864 1 w 6488 2 R 9310 2 A 24821 2 D 27751 2 B 38616 2 V 65737 2 W 236795 1 U 359673 2 T [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: list of libraries within binaries (for sale or rent!) 2005-10-08 13:02 ` Dmitry V. Levin 2005-10-08 13:11 ` Dmitry V. Levin @ 2005-10-08 13:48 ` Alexey Tourbin 2005-10-08 14:28 ` Dmitry V. Levin 2005-10-08 21:13 ` [devel] " Dmitry V. Levin 2 siblings, 1 reply; 19+ messages in thread From: Alexey Tourbin @ 2005-10-08 13:48 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 973 bytes --] On Sat, Oct 08, 2005 at 05:02:38PM +0400, Dmitry V. Levin wrote: > Что-то здесь не так: > > $ grep 'readline.*/usr/bin/lftp' product > libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_attempted_completion_function [...] > - наверное, неправильно трактуются некоторые типы символов. $ nm -D /lib/libreadline.so.4.3 |grep rl_attempted_completion_function 00025d1c B rl_attempted_completion_function $ nm -D /usr/bin/lftp |grep rl_attempted_completion_function 080b8e00 B rl_attempted_completion_function $ То есть, действительно, как /lib/libreadline.so.4.3, так и /usr/bin/lftp предоставляют символ rl_attempted_completion_function, который суть глобальная неинициализированная переменная (BSS). Это заставляет подозревать, что lftp статически слинкован с libreadline. Можно, конечно, проверять только только функции (T). PS: у меня компьютер стал автоматически перезагружаться по несколько раз в день; не знаю, сколько я ещё проживу. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Re: list of libraries within binaries (for sale or rent!) 2005-10-08 13:48 ` Alexey Tourbin @ 2005-10-08 14:28 ` Dmitry V. Levin 2005-10-08 14:51 ` Alexey Tourbin 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 14:28 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1170 bytes --] On Sat, Oct 08, 2005 at 05:48:49PM +0400, Alexey Tourbin wrote: > On Sat, Oct 08, 2005 at 05:02:38PM +0400, Dmitry V. Levin wrote: > > Что-то здесь не так: > > > > $ grep 'readline.*/usr/bin/lftp' product > > libreadline /lib/libreadline.so.4.3 lftp /usr/bin/lftp B rl_attempted_completion_function > [...] > > - наверное, неправильно трактуются некоторые типы символов. > > $ nm -D /lib/libreadline.so.4.3 |grep rl_attempted_completion_function > 00025d1c B rl_attempted_completion_function > $ nm -D /usr/bin/lftp |grep rl_attempted_completion_function > 080b8e00 B rl_attempted_completion_function > $ > > То есть, действительно, как /lib/libreadline.so.4.3, так и /usr/bin/lftp > предоставляют символ rl_attempted_completion_function, который суть > глобальная неинициализированная переменная (BSS). Это заставляет > подозревать, что lftp статически слинкован с libreadline. Можно, > конечно, проверять только только функции (T). Нет, символ rl_attempted_completion_function предоставляет только libreadline.so, а lftp лишь использует (инициализирует) эту переменную. Я думаю, что достаточно проверять только "D" и "T". -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: list of libraries within binaries (for sale or rent!) 2005-10-08 14:28 ` Dmitry V. Levin @ 2005-10-08 14:51 ` Alexey Tourbin 0 siblings, 0 replies; 19+ messages in thread From: Alexey Tourbin @ 2005-10-08 14:51 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 697 bytes --] On Sat, Oct 08, 2005 at 06:28:05PM +0400, Dmitry V. Levin wrote: > > То есть, действительно, как /lib/libreadline.so.4.3, так и /usr/bin/lftp > > предоставляют символ rl_attempted_completion_function, который суть > > глобальная неинициализированная переменная (BSS). Это заставляет > > подозревать, что lftp статически слинкован с libreadline. Можно, > > конечно, проверять только только функции (T). > > Нет, символ rl_attempted_completion_function предоставляет только > libreadline.so, а lftp лишь использует (инициализирует) эту переменную. То есть BSS переменные существуют не per ELF, а "схлопываются" в процессе динамической линковки per process? Не знал. Надо подумать. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 13:02 ` Dmitry V. Levin 2005-10-08 13:11 ` Dmitry V. Levin 2005-10-08 13:48 ` Alexey Tourbin @ 2005-10-08 21:13 ` Dmitry V. Levin 2 siblings, 0 replies; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 21:13 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 284 bytes --] On Sat, Oct 08, 2005 at 05:02:38PM +0400, Dmitry V. Levin wrote: > Кстати, интересно: > > $ grep -wc xmalloc def > 81 И вообще в файле product есть много чего занимательного. Например, $ awk -F'\t' '$1 == "glibc-core" && $3 !~ "glibc"' product |wc -l 1281 -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Q: libattr 2005-10-08 12:00 [devel] list of libraries within binaries (for sale or rent!) Alexey Tourbin 2005-10-08 13:02 ` Dmitry V. Levin @ 2005-10-08 13:06 ` Dmitry V. Levin 2005-10-08 14:29 ` [devel] " Alexey Tourbin 2005-10-08 13:47 ` [devel] list of libraries within binaries (for sale or rent!) Alexander Bokovoy 2 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 13:06 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1076 bytes --] On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > 12 /lib/libattr.so.1.1.0 /lib/libc-2.3.5.so А не наоборот? $ grep '^glibc-core.*libattr' product glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T fgetxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T flistxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T fremovexattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T fsetxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T getxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T lgetxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T listxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T llistxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T lremovexattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T lsetxattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T removexattr glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T setxattr -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: Q: libattr 2005-10-08 13:06 ` [devel] Q: libattr Dmitry V. Levin @ 2005-10-08 14:29 ` Alexey Tourbin 2005-10-08 14:34 ` Dmitry V. Levin 0 siblings, 1 reply; 19+ messages in thread From: Alexey Tourbin @ 2005-10-08 14:29 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1346 bytes --] On Sat, Oct 08, 2005 at 05:06:12PM +0400, Dmitry V. Levin wrote: > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > > 12 /lib/libattr.so.1.1.0 /lib/libc-2.3.5.so > А не наоборот? Там симметрично lib1<=>lib2 и lib2<=>lib1. Для подмножества библиотек это же считай что декартово произведение самого на себя. То есть существует как координата (x,y), так и (y,x). > $ grep '^glibc-core.*libattr' product > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T fgetxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T flistxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T fremovexattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T fsetxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T getxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T lgetxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T listxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T llistxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T lremovexattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T lsetxattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T removexattr > glibc-core /lib/libc-2.3.5.so libattr /lib/libattr.so.1.1.0 T setxattr [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Re: Q: libattr 2005-10-08 14:29 ` [devel] " Alexey Tourbin @ 2005-10-08 14:34 ` Dmitry V. Levin 2005-10-08 14:59 ` Alexey Tourbin 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 14:34 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 582 bytes --] On Sat, Oct 08, 2005 at 06:29:05PM +0400, Alexey Tourbin wrote: > On Sat, Oct 08, 2005 at 05:06:12PM +0400, Dmitry V. Levin wrote: > > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > > > 12 /lib/libattr.so.1.1.0 /lib/libc-2.3.5.so > > А не наоборот? > > Там симметрично lib1<=>lib2 и lib2<=>lib1. Для подмножества библиотек > это же считай что декартово произведение самого на себя. То есть > существует как координата (x,y), так и (y,x). Я имел в виду, что по смыслу избыточность находится скорее всего не в libc а в libattr. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: Q: libattr 2005-10-08 14:34 ` Dmitry V. Levin @ 2005-10-08 14:59 ` Alexey Tourbin 0 siblings, 0 replies; 19+ messages in thread From: Alexey Tourbin @ 2005-10-08 14:59 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 759 bytes --] On Sat, Oct 08, 2005 at 06:34:33PM +0400, Dmitry V. Levin wrote: > > Там симметрично lib1<=>lib2 и lib2<=>lib1. Для подмножества библиотек > > это же считай что декартово произведение самого на себя. То есть > > существует как координата (x,y), так и (y,x). > > Я имел в виду, что по смыслу избыточность находится скорее всего не в > libc а в libattr. Я уже придумал, как сделать более правильный product -- без дупов и "запоров". Посмотрим, сколько перезагрузок потребуется... Учесть смысл сложно, но можно: бинарь, который предоставляет больше символов, должен быть слева. Можно вообще сделать (def x def), а не (libdef x def) -- и смотреть, где предположительно имеется дублирование кода. Тогда (libdef x def) будет частным случаем. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 12:00 [devel] list of libraries within binaries (for sale or rent!) Alexey Tourbin 2005-10-08 13:02 ` Dmitry V. Levin 2005-10-08 13:06 ` [devel] Q: libattr Dmitry V. Levin @ 2005-10-08 13:47 ` Alexander Bokovoy 2005-10-08 14:04 ` Dmitry V. Levin 2 siblings, 1 reply; 19+ messages in thread From: Alexander Bokovoy @ 2005-10-08 13:47 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 617 bytes --] On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > 16 /lib/libnss_winbind.so /usr/bin/net > 16 /lib/libnss_winbind.so /usr/bin/nmblookup > 16 /lib/libnss_winbind.so /usr/bin/ntlm_auth (и так далее, все что с libnss_winbind, libnss_wins) -- это нормально, ведь libnss_* -- не обычные библиотеки, а используется в них та же инфраструктура, что и в основных компонентах Самбы. -- / Alexander Bokovoy Samba Team http://www.samba.org/ ALT Linux Team http://www.altlinux.org/ Midgard Project Ry http://www.midgard-project.org/ [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 13:47 ` [devel] list of libraries within binaries (for sale or rent!) Alexander Bokovoy @ 2005-10-08 14:04 ` Dmitry V. Levin 2005-10-08 14:32 ` Alexander Bokovoy 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 14:04 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 680 bytes --] On Sat, Oct 08, 2005 at 09:47:11AM -0400, Alexander Bokovoy wrote: > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > > 16 /lib/libnss_winbind.so /usr/bin/net > > 16 /lib/libnss_winbind.so /usr/bin/nmblookup > > 16 /lib/libnss_winbind.so /usr/bin/ntlm_auth > (и так далее, все что с libnss_winbind, libnss_wins) -- это нормально, > ведь libnss_* -- не обычные библиотеки, а используется в них та же > инфраструктура, что и в основных компонентах Самбы. Скорее наоборот, когда кто-то использует символы из libnss_*, это очень странно и необычно. Скорее всего, что-то не так с /lib/libnss_winbind.so и /lib/libnss_wins.so -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 14:04 ` Dmitry V. Levin @ 2005-10-08 14:32 ` Alexander Bokovoy 2005-10-08 14:39 ` Dmitry V. Levin 0 siblings, 1 reply; 19+ messages in thread From: Alexander Bokovoy @ 2005-10-08 14:32 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1342 bytes --] On Sat, Oct 08, 2005 at 06:04:54PM +0400, Dmitry V. Levin wrote: > On Sat, Oct 08, 2005 at 09:47:11AM -0400, Alexander Bokovoy wrote: > > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > > > 16 /lib/libnss_winbind.so /usr/bin/net > > > 16 /lib/libnss_winbind.so /usr/bin/nmblookup > > > 16 /lib/libnss_winbind.so /usr/bin/ntlm_auth > > (и так далее, все что с libnss_winbind, libnss_wins) -- это нормально, > > ведь libnss_* -- не обычные библиотеки, а используется в них та же > > инфраструктура, что и в основных компонентах Самбы. > > Скорее наоборот, когда кто-то использует символы из libnss_*, это очень > странно и необычно. Скорее всего, что-то не так с /lib/libnss_winbind.so > и /lib/libnss_wins.so Дима, ты не понял. libnss_winbind и libnss_wins собираются из того же дерева, что и остальная Самба, и используют тот же код, что и основная самба. Например, free_response -- он слинкован и в libnss_winbind, и в smbd, и в nmbd. Да, этот код должен был бы быть в отдельной разделяемой библиотеке, но для Samba 3.x так не будет. Для 4.0 nidd работает на поддержкой библиотек. -- / Alexander Bokovoy Samba Team http://www.samba.org/ ALT Linux Team http://www.altlinux.org/ Midgard Project Ry http://www.midgard-project.org/ [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 14:32 ` Alexander Bokovoy @ 2005-10-08 14:39 ` Dmitry V. Levin 2005-10-08 15:23 ` Alexander Bokovoy 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2005-10-08 14:39 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1618 bytes --] On Sat, Oct 08, 2005 at 10:32:19AM -0400, Alexander Bokovoy wrote: > On Sat, Oct 08, 2005 at 06:04:54PM +0400, Dmitry V. Levin wrote: > > On Sat, Oct 08, 2005 at 09:47:11AM -0400, Alexander Bokovoy wrote: > > > On Sat, Oct 08, 2005 at 04:00:26PM +0400, Alexey Tourbin wrote: > > > > 16 /lib/libnss_winbind.so /usr/bin/net > > > > 16 /lib/libnss_winbind.so /usr/bin/nmblookup > > > > 16 /lib/libnss_winbind.so /usr/bin/ntlm_auth > > > (и так далее, все что с libnss_winbind, libnss_wins) -- это нормально, > > > ведь libnss_* -- не обычные библиотеки, а используется в них та же > > > инфраструктура, что и в основных компонентах Самбы. > > > > Скорее наоборот, когда кто-то использует символы из libnss_*, это очень > > странно и необычно. Скорее всего, что-то не так с /lib/libnss_winbind.so > > и /lib/libnss_wins.so > Дима, ты не понял. libnss_winbind и libnss_wins собираются из того же > дерева, что и остальная Самба, и используют тот же код, что и основная > самба. Например, free_response -- он слинкован и в libnss_winbind, и в > smbd, и в nmbd. Да, я именно это имел в виду. > Да, этот код должен был бы быть в отдельной разделяемой библиотеке, но для > Samba 3.x так не будет. Для 4.0 nidd работает на поддержкой библиотек. Кстати говоря, это довольно распространённая ошибка: Когда в проекте собирается библиотека совместно с использующими её приложениями или другими библиотеками, то порой использующие библиотеку не линкуются с ней, а просто включают объектные файлы. Например, в libdb4.3-4.3.29-alt1 была исправлена аналогичная ошибка. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] list of libraries within binaries (for sale or rent!) 2005-10-08 14:39 ` Dmitry V. Levin @ 2005-10-08 15:23 ` Alexander Bokovoy 0 siblings, 0 replies; 19+ messages in thread From: Alexander Bokovoy @ 2005-10-08 15:23 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 892 bytes --] On Sat, Oct 08, 2005 at 06:39:24PM +0400, Dmitry V. Levin wrote: > > Да, этот код должен был бы быть в отдельной разделяемой библиотеке, но для > > Samba 3.x так не будет. Для 4.0 nidd работает на поддержкой библиотек. > > Кстати говоря, это довольно распространённая ошибка: > > Когда в проекте собирается библиотека совместно с использующими её > приложениями или другими библиотеками, то порой использующие библиотеку > не линкуются с ней, а просто включают объектные файлы. Да, так бывает довольно часто. В Самбе библиотеки внутренние вообще не собираются, за исключением libsmsclient, а линковка идет только по объектным файлам. Мы хотим это изменить, начиная с 4.0. -- / Alexander Bokovoy Samba Team http://www.samba.org/ ALT Linux Team http://www.altlinux.org/ Midgard Project Ry http://www.midgard-project.org/ [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2005-10-08 21:13 UTC | newest] Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-10-08 12:00 [devel] list of libraries within binaries (for sale or rent!) Alexey Tourbin 2005-10-08 13:02 ` Dmitry V. Levin 2005-10-08 13:11 ` Dmitry V. Levin 2005-10-08 14:26 ` [devel] " Alexey Tourbin 2005-10-08 14:33 ` Dmitry V. Levin 2005-10-08 15:07 ` Alexey Tourbin 2005-10-08 13:48 ` Alexey Tourbin 2005-10-08 14:28 ` Dmitry V. Levin 2005-10-08 14:51 ` Alexey Tourbin 2005-10-08 21:13 ` [devel] " Dmitry V. Levin 2005-10-08 13:06 ` [devel] Q: libattr Dmitry V. Levin 2005-10-08 14:29 ` [devel] " Alexey Tourbin 2005-10-08 14:34 ` Dmitry V. Levin 2005-10-08 14:59 ` Alexey Tourbin 2005-10-08 13:47 ` [devel] list of libraries within binaries (for sale or rent!) Alexander Bokovoy 2005-10-08 14:04 ` Dmitry V. Levin 2005-10-08 14:32 ` Alexander Bokovoy 2005-10-08 14:39 ` Dmitry V. Levin 2005-10-08 15:23 ` Alexander Bokovoy
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git