bug-binutils
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]