[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/29081] New: objdump -S tends to be slow for thunderbird wi
From: |
mliska at suse dot cz |
Subject: |
[Bug binutils/29081] New: objdump -S tends to be slow for thunderbird with separate debug info |
Date: |
Thu, 21 Apr 2022 14:02:41 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=29081
Bug ID: 29081
Summary: objdump -S tends to be slow for thunderbird with
separate debug info
Product: binutils
Version: 2.37
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: binutils
Assignee: unassigned at sourceware dot org
Reporter: mliska at suse dot cz
Target Milestone: ---
The debug info are big, so it's easiest to use a Docker image one can run
locally:
$ cat Dockerfile-thunderbird-objdump
FROM opensuse/tumbleweed
RUN zypper ar -f -c http://download.opensuse.org/source/tumbleweed/repo/oss/
source
RUN zypper ar -f -c http://download.opensuse.org/debug/tumbleweed/repo/oss/
debug
RUN zypper repos
RUN zypper refresh
RUN zypper -n install binutils MozillaThunderbird
MozillaThunderbird-debugsource MozillaThunderbird-debuginfo perf
RUN timeout 30 objdump --start-address=0x00000000017529e0
--stop-address=0x0000000001752c90 -S -d /usr/lib64/thunderbird/libxul.so
$ podman build -t test -f Dockerfile-thunderbird-objdump
STEP 1/7: FROM opensuse/tumbleweed
STEP 2/7: RUN zypper ar -f -c
http://download.opensuse.org/source/tumbleweed/repo/oss/ source
--> Using cache
2393dd1a2d437960601510c9b9732d59c6a2b10e497e4f497c85bda870b88dc5
--> 2393dd1a2d4
STEP 3/7: RUN zypper ar -f -c
http://download.opensuse.org/debug/tumbleweed/repo/oss/ debug
--> Using cache
40f7646c586e72ca9247283da6c8cdc9388f18b636d879d3300afabc5c22d229
--> 40f7646c586
STEP 4/7: RUN zypper repos
--> Using cache
8df3cd9239213c4d6857eb8c006ee239d45c0901571675c2701b0e68be74046b
--> 8df3cd92392
STEP 5/7: RUN zypper refresh
--> Using cache
aeaaa59b2269d0af55364f3fabda58d9ae055fdc19ffe56aa7d3e0160723f552
--> aeaaa59b226
STEP 6/7: RUN zypper -n install binutils MozillaThunderbird
MozillaThunderbird-debugsource MozillaThunderbird-debuginfo perf
--> Using cache
a4759602ecae1b53fe809c2835d42f607740a54bb42e491ea8cd8a3bc7ba6ae3
--> a4759602eca
STEP 7/7: RUN timeout 30 objdump --start-address=0x00000000017529e0
--stop-address=0x0000000001752c90 -S -d /usr/lib64/thunderbird/libxul.so
/usr/lib64/thunderbird/libxul.so: file format elf64-x86-64
Disassembly of section .text:
00000000017529e0
<_ZN7mozilla3gfx11VsyncSource7Display11NotifyVsyncERKNS_9TimeStampES5_>:
objdump: DWARF error: could not find variable specification at offset 0x14bfaa4
objdump: DWARF error: could not find variable specification at offset 0x79e96
objdump: DWARF error: could not find variable specification at offset 0x14fb52b
objdump: DWARF error: could not find variable specification at offset 0x14fb536
objdump: DWARF error: could not find variable specification at offset 0x14fb866
objdump: DWARF error: could not find variable specification at offset 0x1570854
objdump: DWARF error: could not find variable specification at offset 0x15a62fb
objdump: DWARF error: could not find variable specification at offset 0x15a6a5f
objdump: DWARF error: could not find variable specification at offset 0x15a7fde
objdump: DWARF error: could not find variable specification at offset 0x15a927f
objdump: DWARF error: could not find variable specification at offset 0x15ad94a
objdump: DWARF error: could not find variable specification at offset 0x15a89fe
objdump: DWARF error: could not find variable specification at offset 0x15ad9bc
objdump: DWARF error: could not find variable specification at offset 0x15a6b27
objdump: DWARF error: could not find variable specification at offset 0x15ada15
objdump: DWARF error: could not find variable specification at offset 0x15a69f7
objdump: DWARF error: could not find variable specification at offset 0x15a8dd9
objdump: DWARF error: could not find variable specification at offset 0x15a809b
objdump: DWARF error: could not find variable specification at offset 0x15adc31
objdump: DWARF error: could not find variable specification at offset 0x15adcc3
objdump: DWARF error: could not find variable specification at offset 0x15a89dc
objdump: DWARF error: could not find variable specification at offset 0x15add48
objdump: DWARF error: could not find variable specification at offset 0x15add88
objdump: DWARF error: could not find variable specification at offset 0x15a6298
objdump: DWARF error: could not find variable specification at offset 0x15adacf
objdump: DWARF error: could not find variable specification at offset 0x15add03
objdump: DWARF error: could not find variable specification at offset 0x15adc7e
objdump: DWARF error: could not find variable specification at offset 0x15addd2
objdump: DWARF error: could not find variable specification at offset 0x83147e
objdump: DWARF error: could not find variable specification at offset 0x15c988e
objdump: DWARF error: could not find variable specification at offset 0x831489
objdump: DWARF error: could not find variable specification at offset 0x15c9899
objdump: DWARF error: could not find variable specification at offset 0x831494
objdump: DWARF error: could not find variable specification at offset 0x15c98a4
objdump: DWARF error: could not find variable specification at offset 0x83149f
objdump: DWARF error: could not find variable specification at offset 0x15c9fc5
objdump: DWARF error: could not find variable specification at offset 0x15ca89d
objdump: DWARF error: could not find variable specification at offset 0x15cafef
objdump: DWARF error: could not find variable specification at offset 0xc4842
objdump: DWARF error: could not find variable specification at offset 0xf2d9bf
objdump: DWARF error: could not find variable specification at offset 0x117a6f6
Error: error building at STEP "RUN timeout 30 objdump
--start-address=0x00000000017529e0 --stop-address=0x0000000001752c90 -S -d
/usr/lib64/thunderbird/libxul.so": error while running runtime: exit status 124
Note it's LTO-ed binary built with GCC.
perf shows the time is spent here:
$ perf report --stdio | head -n20
# To display the perf.data header info, please use --header/--header-only
options.
#
#
# Total Lost Samples: 0
#
# Samples: 117K of event 'cycles:u'
# Event count (approx.): 125022478481
#
# Overhead Command Shared Object Symbol
# ........ ....... .........................
...............................................
#
76.03% objdump libbfd-2.38.20220411-4.so [.]
comp_unit_maybe_decode_line_info.lto_priv.0
11.80% objdump objdump [.] check_gnu_debuglink
5.19% objdump libbfd-2.38.20220411-4.so [.]
find_abstract_instance.lto_priv.0
1.48% objdump libbfd-2.38.20220411-4.so [.]
read_attribute_value.lto_priv.0
0.85% objdump libbfd-2.38.20220411-4.so [.] arange_add.lto_priv.0
0.65% objdump objdump [.] compare_symbols
0.43% objdump libbfd-2.38.20220411-4.so [.]
_bfd_safe_read_leb128.constprop.0
0.37% objdump libc.so.6 [.] __strlen_avx2
0.30% objdump libc.so.6 [.] __GI_strstr
and note w/o -S option it finishes pretty quickly:
$ time objdump --start-address=0x00000000017529e0
--stop-address=0x0000000001752c90 -d /usr/lib64/thunderbird/libxul.so
...
1752c77: 5b pop %rbx
1752c78: 5d pop %rbp
1752c79: 41 5c pop %r12
1752c7b: 41 5d pop %r13
1752c7d: 41 5e pop %r14
1752c7f: 41 5f pop %r15
1752c81: e9 ca c3 22 ff jmp 97f050
<_ZN7mozilla6detail9MutexImpl6unlockEv@plt>
1752c86: e8 b5 a1 22 ff call 97ce40 <__stack_chk_fail@plt>
1752c8b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
real 0m4.330s
user 0m3.998s
sys 0m0.332s
--
You are receiving this mail because:
You are on the CC list for the bug.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug binutils/29081] New: objdump -S tends to be slow for thunderbird with separate debug info,
mliska at suse dot cz <=