[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Symbol not Detectable by Objdump
From: |
Ahmad Nouralizadeh |
Subject: |
Re: Symbol not Detectable by Objdump |
Date: |
Mon, 18 Nov 2024 16:03:16 +0330 |
The (default system) binutils used for the above-mentioned outputs is
`2.30`. I also tried with `binutils-2.43.1` (i.e., the latest stable
release) and the problem was not resolved.
On Mon, 18 Nov 2024 at 15:59, Ahmad Nouralizadeh <ahmad.mlists@gmail.com> wrote:
>
> 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