[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Symbol not Detectable by Objdump
From: |
Ahmad Nouralizadeh |
Subject: |
Symbol not Detectable by Objdump |
Date: |
Mon, 18 Nov 2024 15:59:52 +0330 |
Hi,
I have a shared library
`/opt/evince-3.28.4/lib/evince/4/backends/libpdfdocument.so`. In GDB,
I can easily detect a function at offset `0xa830` of this library, as
shown below:
(gdb) disas 0xa830
Dump of assembler code for function ev_link_from_action(PdfDocument*,
PopplerAction*):
0x000000000000a830 <+0>: cmpl $0xa,(%rsi)
0x000000000000a833 <+3>: ja 0xaaf0
<ev_link_from_action(PdfDocument*, PopplerAction*)+704>
0x000000000000a839 <+9>: push %r15
0x000000000000a83b <+11>: push %r14
0x000000000000a83d <+13>: lea 0x5f28(%rip),%rdx # 0x1076c
The output of `objdump -D` on the library for this offset is shown below:
a826: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
a82d: 00 00 00
a830: 83 3e 0a cmpl $0xa,(%rsi)
a833: 0f 87 b7 02 00 00 ja aaf0 <__cxa_finalize@plt+0x1d10>
a839: 41 57 push %r15
No function name is printed at `0xa830`. Also, the output of `objdump
-t` on the library does not contain this offset. How can I detect the
symbol name assuming the offset is known and GDB is not available?
Regards.
-------------------
P.S.: The shared library contains debuginfo. The relevant portion of
`objdump -h` on the library is shown below:
25 .debug_aranges 00000030 0000000000000000 0000000000000000 00014bd9 2**0
CONTENTS, READONLY, DEBUGGING
26 .debug_info 00014b8d 0000000000000000 0000000000000000 00014c09 2**0
CONTENTS, READONLY, DEBUGGING
27 .debug_abbrev 00000773 0000000000000000 0000000000000000 00029796 2**0
CONTENTS, READONLY, DEBUGGING
28 .debug_line 00002036 0000000000000000 0000000000000000 00029f09 2**0
CONTENTS, READONLY, DEBUGGING
29 .debug_str 0000c377 0000000000000000 0000000000000000 0002bf3f 2**0
CONTENTS, READONLY, DEBUGGING
30 .debug_loc 0000d45f 0000000000000000 0000000000000000 000382b6 2**0
CONTENTS, READONLY, DEBUGGING
31 .debug_ranges 00001080 0000000000000000 0000000000000000 00045715 2**0
CONTENTS, READONLY, DEBUGGING
-------------------
P.S.2: The question issue is also notified here:
https://stackoverflow.com/questions/79196334/symbol-not-detectable-by-objdump
- Symbol not Detectable by Objdump,
Ahmad Nouralizadeh <=