From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 18 Sep 2005 00:45:20 +0400 From: Alexey Tourbin To: ALT Devel discussion list Message-ID: <20050917204520.GC2358@solemn.turbinal.org> Mail-Followup-To: ALT Devel discussion list Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Eldrgvv4EWsIM1sO" Content-Disposition: inline Cc: Subject: [devel] rpmelfsym [2] X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Sep 2005 20:53:24 -0000 Archived-At: List-Archive: List-Post: --Eldrgvv4EWsIM1sO Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Sep 13, 2005 at 07:49:49PM +0400, Alexey Tourbin wrote: > $ find /bin /usr/bin /lib /usr/lib -type f -maxdepth 1 |file -f - |awk -F= ': +' '$2~/ELF.*(dynamic|shared)/{print$1}' |xargs nm -D |awk 'NF>1{print N= F-1,$(NF-1)}' |sort |uniq -c |sort -n > 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 > $ > =FA=C1=D4=CF "=C2=D5=CB=D7=D9" =CE=C5 "=D0=C5=D2=C5=D3=C5=CB=C1=C0=D4=D3= =D1" =D0=CF =CE=C1=CC=C9=DE=C9=C0 =C9=CC=C9 =CF=D4=D3=D5=D4=D3=D4=D7=C9=C0 = =C1=C4=D2=C5=D3=C1. > =F4=CF =C5=D3=D4=D8 =CF=D4=C4=C5=CC=D8=CE=CF=C5 =D0=CF=CC=C5 =D7 =C4=C1= =CD=D0=C5 =C4=CC=D1 "=C5=D3=D4=D8 =C1=C4=D2=C5=D3/=CE=C5=D4 =C1=C4=D2=C5=D3= =C1" =CE=C5 =CE=D5=D6=CE=CF. > =EE=C1=D7=C5=D2=CE=CF=C5, =DC=D4=CF =C2=C1=CE=C1=CC=D8=CE=C1=D1 =C9=D3=D4= =C9=CE=C1, =CE=CF =D7=CF=D4 =D1 =C5=A3 =D3 =D0=CF=CE=D4=CF=CD =D0=D2=CF=D7= =C5=D2=C9=CC. =E9=D4=CF=C7=CF, =D0=CF=CC=D5=DE=C5=CE (=D0=CF=DE=D4=C9) =D0=CF=CC=CE=D9=CA= =C4=C1=CD=D0 =D7=D3=C5=C8 ELF-=D3=C9=CD=D7=CF=CC=CF=D7 =D3=C9=DA=C9=C6=C1,= =D7 =D3=CC=C5=C4=D5=C0=DD=C5=CD =D7=C9=C4=C5: $ pwd /home/at/.qa-robot/rpmelfsym $ du -hs dump.old 350M dump.old $ head dump.old 7colors /usr/bin/sevencolors A _DYNAMIC 7colors /usr/bin/sevencolors A _GLOBAL_OFFSET_TABLE_ 7colors /usr/bin/sevencolors A __bss_start 7colors /usr/bin/sevencolors A _edata 7colors /usr/bin/sevencolors A _end 7colors /usr/bin/sevencolors B game 7colors /usr/bin/sevencolors D __data_start 7colors /usr/bin/sevencolors D options 7colors /usr/bin/sevencolors D rhomb_xpm_data 7colors /usr/bin/sevencolors R _IO_stdin_used $ =EB=C1=CB =D7=C9=C4=CE=CF =C9=DA =D3=D0=C9=D3=CB=C1 =D7=D9=DB=C5, =C2=D5=CB= =CF=D7=CB=C9 [AaBDRTVW] =C9=CD=C5=C0=D4 =C1=C4=D2=C5=D3, =D4=CF =C5=D3=D4= =D8 =D7 =D0=D2=C9=CE=C3=C9=D0=C5 =DC=D4=C9 =D3=C9=CD=D7=CF=CC=D9 =CB=C5=CD-=D4=CF = =CD=CF=C7=D5=D4 =D0=D2=CF=D7=C1=CA=C4=C9=D4=D8=D3=D1. =E2=D5=CB=CF=D7=CB= =C9 [Uvw] =CE=C5 =C9=CD=C5=C0=D4 =C1=C4=D2=C5=D3=C1, =D4=CF =C5=D3=D4=D8 =DC=D4=C9 =D3=C9=CD=D7=CF=CC=D9 "= =CF=D6=C9=D7=C1=C0=D4" =D7 =D0=D2=CF=C3=C5=D3=D3=C5 =C4=C9=CE=C1=CD=C9=DE= =C5=D3=CB=CF=CA =CC=C9=CE=CB=CF=D7=CB=C9. =F4=C5=D0=C5=D2=D8 =D3=CC=C5=C4=C9=D4=C5 =DA=C1 =CD=CF=C5=CA =CC=CF=C7=C9= =CB=CF=CA. =E2=D5=CB=CF=D7=CB=C9, =CB=CF=D4=CF=D2=D9=C5 =C9=CD=C5=C0=D4 = =C1=C4=D2=C5=D3, =D3=CB=CC=C1=C4=D9=D7=C1=C5=CD =D7 =CB=D5=DE=CB=D5 provides. =EF=D3=D4=C1= =CC=D8=CE=D9=C5 =C2=D5=CB=CF=D7=CB=C9 =D0=CF =D3=CD=D9=D3=CC=D5 =CC=CF=D6= =C1=D4=D3=D1 =D7 =CB=D5=DE=CB=D5 requires. =E4=C1=CC=C5=C5 =CE=D5=D6=CE=CF =D3=D2=C1=D7=CE= =C9=D7=CE=C9=D4=D8 =DC=D4=C9 =C4=D7=C5 =CB=D5=DE=CB=C9: =D3=C9=CD=D7=CF=CC= =D9, =CB=CF=D4=CF=D2=D9=C5 =C5=D3=D4=D8 =D7 =CB=D5=DE=CB=C5 requires, =CE=CF =CB=CF=D4=CF=D2=D9=C5 =CF= =D4=D3=D5=D4=D3=D4=D7=D5=C0=D4 =D7 =CB=D5=DE=CB=C5 provides, =FA=E1=F7=E5= =E4=EF=ED=EF =CE=C5 =CD=CF=C7=D5=D4 =D0=D2=C1=D7=C9=CC=D8=CE=CF =D2=C5=DA=CF=CC=D8=D7=C9= =D4=D8=D3=D1 =C4=C9=CE=C1=CD=C9=DE=C5=D3=CB=C9=CD =CC=C9=CE=CB=C5=D2=CF=CD. =FC=D4=CF =D0=D2=C1=D7=C9=CC=CF -- =F3=EC=E1=E2=EF=E5 =D0=D2=C1=D7=C9=CC=CF= =D7 =D4=CF=CD =D3=CD=D9=D3=CC=C5, =DE=D4=CF =D0=CF=DA=D7=CF=CC=D1=C5=D4 = =CF=C2=CE=C1=D2=D5=D6=C9=D4=D8 =D4=CF=CC=D8=CB=CF =F1=F7=EE=F9=E5, =FA=E1=F7=E5=E4=EF=ED=EF =CE=C5=C4=CF= =D0=D5=D3=D4=C9=CD=D9=C5, =CF=DB=C9=C2=CF=DE=CE=D9=C5 =D3=C9=CD=D7=CF=CC=D9= =D7 ELF'=C1=C8. =EF=CE=CF =CE=C5 =D5=DE=C9=D4=D9=D7=C1=C5=D4 =D3=D7=D1=DA=C9 =CD=C5=D6=C4=D5 ELF'=C1= =CD=C9, =D0=CF=D0=D2=CF=D3=D4=D5 =C4=CF=D0=D5=D3=CB=C1=D1, =DE=D4=CF =D0=D2= =C9 =D3=CF=D7=D0=C1=C4=C5=CE=C9=C9 =D3=C9=CD=D7=CF=CC=CF=D7 =D7 requires =C9 provides =CE=D5=D6=CE=C1=D1 =D3= =D7=D1=DA=D8 =CD=C5=D6=C4=D5 ELF'=C1=CD=C9 =C9=CD=C5=C5=D4=D3=D1. =E4=CC=D1 requires =C9 provides =C2=D5=C4=D5 =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1= =D4=D8 =CF=C2=CF=DA=CE=C1=DE=C5=CE=C9=D1 "ref" =C9 "def" =D3=CF=CF=D4=D7=C5=D4=D3=D4=D7=C5=CE=CE=CF (=CB=C1=CB =D7 lorder =C9=DA v7). $ awk -F'\t' '$3~/[AaBDRTVW]/' dump.old >def $ awk -F'\t' '$3~/[Uvw]/' dump.old >ref =F0=D2=CF=D7=C5=D2=D1=C5=CD, =CE=C5 =CF=D3=D4=C1=CC=CF=D3=D8 =CC=C9 =DA=C1 = =C2=CF=D2=D4=CF=CD =C4=D2=D5=C7=C9=C8 =C2=D5=CB=CF=D7=CF=CB. $ wc -l dump.old def ref 4897331 dump.old 2793772 def 2103559 ref 9794662 total $ echo $(( 2793772 + 2103559 )) 4897331 $ =EE=C5 =CF=D3=D4=C1=CC=CF=D3=D8. =F4=C5=D0=C5=D2=D8 =CE=D5=D6=CE=CF =CF=D4= =D9=D3=CB=C1=D4=D8 =D3=C9=CD=D7=CF=CC=D9 =D7 =CB=D5=DE=CB=C5 "ref", =CB=CF= =D4=CF=D2=D9=C5 =CE=C5 "=D3=D0=C1=D2=C9=D7=C1=C0=D4=D3=D1" =D3 =D3=C9=CD=D7=CF=CC=C1=CD=C9 =D7 =CB= =D5=DE=CB=C5 "def". =FC=D4=CF =D5=CD=C5=C5=D4 =C4=C5=CC=C1=D4=D8 join. = =E4=CC=D1 =DC=D4=CF=C7=CF =CE=D5=D6=CE=CF =D0=D2=C5=C4=D7=C1=D2=C9=D4=C5=CC=D8=CE=CF = =CF=D4=D3=CF=D2=D4=C9=D2=CF=D7=C1=D4=D8 def =C9 ref =D0=CF =CB=CC=C0=DE=C5= =D7=CF=CD=D5 =D0=CF=CC=C0, =D4.=C5. =D0=CF =D3=C9=CD=D7=CF=CC=C1=CD (=D0=CF=D3=CC=C5=C4=CE=C5=C5 =D0= =CF=CC=C5, #4). $ sort -t$'\t' -k4,4 -o def def & sort -t$'\t' -k4,4 -o ref ref & [1] 15993 [2] 15994 $ man join (sort =D4=CF=D2=CD=CF=DA=CE=D5=D4=CF =D3=CF=D2=D4=C9=D2=D5=C5=D4, =DE=C9=D4= =C1=C0 man join) [2] + done sort -t$'\t' -k4,4 -o ref ref [1] + done sort -t$'\t' -k4,4 -o def def $ join -t$'\t' -j 4 -v 1 ref def -o '1.1 1.2 1.3 1.4' >join.out $ wc -l join.out 18243 join.out $ =E5=D3=D4=D8 =D4=C1=CB=C9=C5 =D3=C9=CD=D7=CF=CC=D9! $ head -20 join.out tomboy /usr/lib/tomboy/libtomboy.so U GTK_IS_SOURCE_VIEW directfb /usr/lib/directfb-0.9.21/gfxdrivers/libdirectfb_nsc.so U Gal_set_s= ource_transparency libcdf /usr/lib/libcdf_idl.so.0.0.0 U IDL_MakeTempArray libcdf /usr/lib/libcdf_idl.so.0.0.0 U IDL_StoreScalar libcdf /usr/lib/libcdf_idl.so.0.0.0 U IDL_StrDelete libcdf /usr/lib/libcdf_idl.so.0.0.0 U IDL_StrStore libcdf /usr/lib/libcdf_idl.so.0.0.0 U IDL_VarCopy libgcj3.4 /usr/lib/lib-gnu-java-awt-peer-gtk.so.5.0.0 U LINK_ReallyLinkClass libgcj3.4-debug /usr/lib/debug/lib-gnu-java-awt-peer-gtk.so.5.0.0 U LINK_Re= allyLinkClass libgcj3.4 /usr/lib/lib-gnu-java-awt-peer-gtk.so.5.0.0 U LINK_ReallyLinkKnow= nClass libgcj3.4-debug /usr/lib/debug/lib-gnu-java-awt-peer-gtk.so.5.0.0 U LINK_Re= allyLinkKnownClass mod_ssl-sxnet /usr/lib/apache/mod_sxnet.so U Malloc mnogosearch-ruby /usr/lib/ruby/vendor_ruby/1.8/i586-linux-gnu/mnogo.so U Ud= mEnvErrCode abiword /usr/lib/AbiWord-2.4/plugins/libAbiGimp.so U _Z10progExistsPKc python-module-PyKDE /usr/lib/python2.4/site-packages/kdeprint.so U _Z11rang= eToSizeRK7QString TORCS /usr/lib/torcs/modules/graphic/ssggraph.so U _Z14ssgCullAndDrawP7ssgR= oot TORCS /usr/lib/torcs/texmapper-bin U _Z14ssgCullAndDrawP7ssgRoot boost-test /usr/lib/libboost_unit_test_framework-gcc-1_32.so.1.32.0 U _Z20i= nit_unit_test_suiteiPPc boost-test /usr/lib/libboost_unit_test_framework-gcc-mt-1_32.so.1.32.0 U _Z= 20init_unit_test_suiteiPPc boost-test-devel /usr/lib/libboost_unit_test_framework-gcc-d-1_32.so.1.32.0= U _Z20init_unit_test_suiteiPPc $ =F0=CF=C8=CF=D6=C5 =CE=C1 =D0=D2=C1=D7=C4=D5. =F0=CF =D0=CF=D7=CF=C4=D5 GT= K_IS_SOURCE_VIEW =D7=D3=A3 =D1=D3=CE=CF -- =DC=D4=CF =CE=C5=D2=C1=D3=CB=D2=D9=D4=D9=CA =CD=C1=CB=D2=CF=D3 (=D7 =D3=CD=D9=D3=CC= =C5 =D0=D2=C5=D0=D2=CF=C3=C5=D3=D3=CF=D2=C1 cpp). =F0=CF =D0=CF=D7=CF=C4=D5 Gal_set_source_transparency -- =D0=D2=CF=D7=C5=D2=D1=C5=CD: $ grep -wi Gal_set_source_transparency dump.old directfb /usr/lib/directfb-0.9.21/gfxdrivers/libdirectfb_nsc.so U = Gal_set_source_transparency $ =EE=C5=D4 =D4=C1=CB=CF=C7=CF =D3=C9=CD=D7=CF=CC=C1 =D7 =C4=C1=CD=D0=C5. = =EB=D4=CF =D0=D2=C5=C4=CF=D3=D4=C1=D7=CC=D1=C5=D4 =D3=C9=CD=D7=CF=CC=D9 Gal= _*? $ awk -F'\t' '$3=3D=3D"T"&&$4~/^Gal_/' dump.old directfb /usr/lib/directfb-0.9.21/gfxdrivers/libdirectfb_nsc.so T = Gal_bresenham_line directfb /usr/lib/directfb-0.9.21/gfxdrivers/libdirectfb_nsc.so T = Gal_cleanup_interface =2E.. $ =E1=C7=C1, =D3=C1=CD =D6=C5 directfb =C9=C8 =C9 =D0=D2=C5=C4=CF=D3=D4=C1=D7= =CC=D1=C5=D4. =FE=D4=CF-=D4=CF =D7 =CE=A3=CD =CE=C5 =D3=D4=D9=CB=D5=C5=D4= =D3=D1. $ awk -F'\t' '$4~/^Gal_.*transp/' dump.old directfb /usr/lib/directfb-0.9.21/gfxdrivers/libdirectfb_nsc.so U = Gal_set_source_transparency $ =F3=D4=D2=C1=CE=CE=CF. =EC=C1=C4=CE=CF, =C5=C4=C5=CD =C4=C1=CC=D8=DB=C5. = libcdf_idl, =D3=C9=CD=D7=CF=CC=D9 IDL_*. $ awk -F'\t' '$3=3D=3D"T"&&$4~/^IDL_/' dump.old ORBit-devel /usr/bin/orbit-idl T IDL_tree_traverse_parents ORBit2-devel /usr/bin/orbit-idl-2 T IDL_tree_traverse_parents ORBit2-devel /usr/bin/orbit-idl-2 T IDL_tree_traverse_parents_full libIDL /usr/lib/libIDL-2.so.0.0.0 T IDL_attr_dcl_new libIDL /usr/lib/libIDL-2.so.0.0.0 T IDL_binop_new =2E.. libORBit /usr/lib/libIDL-0.6.so.0.4.4 T IDL_attr_dcl_new libORBit /usr/lib/libIDL-0.6.so.0.4.4 T IDL_binop_new libORBit /usr/lib/libIDL-0.6.so.0.4.4 T IDL_boolean_new libORBit /usr/lib/libIDL-0.6.so.0.4.4 T IDL_case_stmt_new =2E.. $ =F1=D3=CE=CF, =DC=D4=CF =D7=D3=D1=CB=C9=C5 ORBit'=D9 =C9 IDL'=C9, =CE=CF = =D4=C1=CB=C9=C8 =D3=C9=CD=D7=CF=CC=CF=D7 =D7 =CE=C9=C8 =CE=C5=D4=D5. =F3= =D4=D2=C1=CE=CE=CF. =F0=CF=D0=D2=CF=C2=D5=C5=CD =CE=C1 =D7=D3=D1=CB=C9=CA =D3=CC=D5=DE=C1=CA `l= dd -r'. $ ldd -r /usr/lib/libcdf_idl.so.0.0.0 libc.so.6 =3D> /lib/i686/libc.so.6 (0x4005d000) /lib/ld-linux.so.2 =3D> /lib/ld-linux.so.2 (0x80000000) undefined symbol: IDL_StoreScalar (/usr/lib/libcdf_idl.so.0.0.0) undefined symbol: IDL_VarCopy (/usr/lib/libcdf_idl.so.0.0.0) undefined symbol: IDL_StrStore (/usr/lib/libcdf_idl.so.0.0.0) undefined symbol: IDL_StrDelete (/usr/lib/libcdf_idl.so.0.0.0) undefined symbol: IDL_MakeTempArray (/usr/lib/libcdf_idl.so.0.0.0) $ =EB=D2=D5=D4=CF! =FC=D4=C1 =C2=C9=C2=CC=C9=CF=D4=C5=CB=C1 =D0=CF =DE=C1=D3= =D4=C9 IDL_ =CE=C9 =D3 =CB=C5=CD =CE=C5 =D3=CC=C9=CE=CB=CF=D7=C1=CE=C1, =C1= =D7=D9=D7=CF=C4 `ldd -r' =D0=CF=C4=D4=D7=C5=D2=D6=C1=C5=D4 =D4=CF, =DE=D4=CF =CD=D9 =D4=CF= =CC=D8=CB=CF =DE=D4=CF =D5=D7=C9=C4=C5=CC=C9 =D7 join.out. =F0=CF =D0=CF=D7=CF=C4=D5 libgcj3.4 =D1 =D3=D5=C4=C9=D4=D8 =CE=C5 =C2=C5=D2= =D5=D3=D8. =E4=C1=CC=D8=DB=C5 =C9=C4=C5=D4 mod_ssl-sxnet Malloc. $ grep -w Malloc dump.old mod_ssl-sxnet /usr/lib/apache/mod_sxnet.so U Malloc $ =EE=C5=D4 =D4=C1=CB=CF=C7=CF =D3=C9=CD=D7=CF=CC=C1 =CE=C9=C7=C4=C5! =E4=C1= =CC=C5=C5 =C9=C4=A3=D4 boost -- =CF=D0=D1=D4=D8 =D6=C5 =CE=C5 =C2=C5=D2=D5= =D3=D8 =D3=D5=C4=C9=D4=D8. =F0=CF=D4=CF=CD =D7=D3=D1=CB=CF=C5 =D0=D2=C9=D0=CC=C0= =D3=CE=D5=D4=CF=C5. =E9 =D4=C1=CB =C4=C1=CC=C5=C5. =2E.. =FE=D4=CF =C4=C5=CC=C1=D4=D8 =C2=D5=C4=C5=CD? PS: =D4=C1=CD =C4=C1=CC=D8=DB=C5 =CD=CE=CF=C7=CF =D7=D3=D1=CB=C9=C8 __gmon_= start__ =D3=C9=CD=D7=CF=CC=CF=D7 =C9=C4=A3=D4, =D4=C1=CB =DE=D4=CF =D7=D3=A3 =CE=C5 =D3=CC=C9=DB=CB=CF=CD =D0=CC=CF=C8=CF. --Eldrgvv4EWsIM1sO Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQFDLIBffBKgtDjnu0YRAqJ9AJ4sU6AG0Eh6iBrD8BM41nlL4sC81wCfYDJ9 4vHygxah8RetEFoBegP4JJk= =6wtZ -----END PGP SIGNATURE----- --Eldrgvv4EWsIM1sO--