From: Alexey Tourbin <at@altlinux.ru> To: devel@lists.altlinux.org Subject: Re: [devel] [Sisyphus-cybertalk] I: Sisyphus-20060519 dup_elf_symbols: +55 -46 (57838) Date: Fri, 19 May 2006 20:09:49 +0400 Message-ID: <20060519160949.GG26020@localhost> (raw) In-Reply-To: <200605191752.14541.thresh@altlinux.ru> [-- Attachment #1.1: Type: text/plain, Size: 553 bytes --] On Fri, May 19, 2006 at 05:52:07PM +0400, Pavlov Konstantin wrote: > > 55 NEW dup_elf_symbols added to the list > > ffmpeg /usr/bin/ffmpeg fftv /usr/bin/ffmpeg-fftv 2 > и прочее, вполне нормально с учетом дублежа кода ffmpeg. Его почти все таскают > с собой. Кстати, 2 -- это слишком мало, на уровне кажимости, а 8 -- это слишком много, примерно как молотком по голове. Разъяснение приаттачено. > > liballegro /usr/lib/liballeg-4.2.0.so atanks /usr/games/atanks 8 > > liballegro /usr/lib/liballeg-4.2.0.so dumb_0.9.2 /usr/bin/dumbplay 8 [-- Attachment #1.2: dup_elf_symbols --] [-- Type: text/plain, Size: 1796 bytes --] #!/bin/sh -ef export LC_ALL=C cd "${workdir:?}" [ -n "$*" ] || set -- -ap rpmelfsym "$@" >sym awk -F'\t' '$3~/[DT]/' sym >def sort -t$'\t' -k4 -o def def # avoid most frequent symbols nelf=`sort -u -k2,2 def |wc -l` cut -f4 def |uniq -cd |sort -n >freq awk -v n=$nelf '$1<sqrt(3*n){print$NF}' freq |grep -vf /dev/fd/3 >defsym 3<<'__EOF__' __cxa_ __cxxabiv1 __gnu_cxx __gxx_personality ^__dynamic_cast$ ^_Znwj$ ^_ZdlPv$ ^_Znaj$ ^_ZdaPv$ ^_ZNSt[0-9] ^_ZNKSt[0-9] ^_ZSt[0-9] ^_Unwind_ ^__register_frame ^yy[a-z_] __EOF__ sort -o defsym -u defsym join -t$'\t' -14 -21 -o '1.1 1.2 1.3 1.4' def defsym >xdef # product ::= pkg1 elf1 pkg2 elf2 symtype symname join -t$'\t' -j 4 -o '1.1 1.2 1.3 2.1 2.2 2.3 0' xdef xdef | awk -F'\t' 'function prio(f) { if (f~"^/lib/lib[^/]+[.]so[^/]*$") return 1 if (f~"^/usr/lib/lib[^/]+[.]so[^/]*$") return 2 if (f~"^/usr/X11R./lib/lib[^/]+[.]so[^/]*$") return 3 if (f~"lib/lib[^/]+[.]so[^/]*$") return 4 if (f~"/lib[^/]+[.]so[^/]*$") return 5 if (f~"[^/][.]so[^/]*$") return 6 return 9 } ($2<$5 && $3==$6) { OFS="\t" pd = prio($2)-prio($5) if (pd<0 || pd==0 && length($2)<=length($5)) print $1,$2,$4,$5,$6,$7 else print $4,$5,$1,$2,$6,$7 }' >product # suspect ::= pkg1 elf1 pkg2 elf2 log2(nsym) # I need logarithmic scale here to facilitate diffing # 3-5 symbols (approx. 4) log2 = 2 # 6-11 symbols (approx. 8) log2 = 3 # 12-22 symbols (approx. 16) log2 = 4 # 23-45 symbols (approx. 32) log2 = 5 # 46-90 symbols (approx. 64) log2 = 6 # 91-181 symbols (approx. 128) log2 = 7 # 182-362 symbols (approx. 256) log2 = 8 cut -f-4 product |sort |uniq -cd |sed 's/^ *\([0-9]\+\) \+\(.\+\)$/\2\t\1/' | awk -F'\t' 'BEGIN{OFS=FS}($NF=int(log($NF)/log(2)+0.5))>1' >suspect sort -o suspect -u suspect cat suspect cd - >/dev/null [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2006-05-19 16:09 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2006-05-19 13:52 ` Pavlov Konstantin 2006-05-19 14:21 ` Anton Farygin 2006-05-19 15:49 ` Valery V. Inozemtsev 2006-05-22 4:49 ` Anton Farygin 2006-05-22 6:03 ` Valery V. Inozemtsev 2006-05-22 9:33 ` Anton Farygin 2006-05-19 14:38 ` Alexey Tourbin 2006-05-19 15:47 ` Alexey Tourbin 2006-05-19 15:58 ` Igor Zubkov 2006-05-19 16:47 ` Alexey Tourbin 2006-05-19 14:47 ` Serge Polkovnikov 2006-05-19 16:09 ` Alexey Tourbin [this message] 2006-05-19 18:36 ` Konstantin A. Lepikhov 2006-05-19 20:10 ` Pavlov Konstantin 2006-05-20 7:43 ` [devel] mplayer team? " Michael Shigorin 2006-05-24 11:18 ` Led 2006-05-20 10:23 ` [devel] " Valery V. Inozemtsev 2006-05-22 14:38 ` Led
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20060519160949.GG26020@localhost \ --to=at@altlinux.ru \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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