[llvm-bugs] [Bug 30241] New: llvm-objdump -p omits dynamic headers (in comparison to GNU objdump)

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Sep 1 10:42:14 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=30241

            Bug ID: 30241
           Summary: llvm-objdump -p omits dynamic headers (in comparison
                    to GNU objdump)
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: emaste at freebsd.org
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

In FreeBSD we're looking at using llvm-objdump as a replacement for GNU objdump
and investigating common use cases that produce different output.

GNU objdump -p displays the phdr, .dynamic section, and symver info:

=============================================
% /usr/local/bin/objdump -p /tank/emaste/src/llvm/build-nodebug/bin/lldb 

/tank/emaste/src/llvm/build-nodebug/bin/lldb:     file format
elf64-x86-64-freebsd

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000400040 paddr
0x0000000000400040 align 2**3
         filesz 0x00000000000001c0 memsz 0x00000000000001c0 flags r-x
  INTERP off    0x0000000000000200 vaddr 0x0000000000400200 paddr
0x0000000000400200 align 2**0
         filesz 0x0000000000000015 memsz 0x0000000000000015 flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000400000 paddr
0x0000000000400000 align 2**21
         filesz 0x0000000000009aa4 memsz 0x0000000000009aa4 flags r-x
    LOAD off    0x000000000000a000 vaddr 0x000000000060a000 paddr
0x000000000060a000 align 2**21
         filesz 0x0000000000000aa8 memsz 0x0000000000000af0 flags rw-
 DYNAMIC off    0x000000000000a050 vaddr 0x000000000060a050 paddr
0x000000000060a050 align 2**3
         filesz 0x0000000000000270 memsz 0x0000000000000270 flags rw-
    NOTE off    0x0000000000000218 vaddr 0x0000000000400218 paddr
0x0000000000400218 align 2**2
         filesz 0x0000000000000030 memsz 0x0000000000000030 flags r--
EH_FRAME off    0x00000000000093b4 vaddr 0x00000000004093b4 paddr
0x00000000004093b4 align 2**2
         filesz 0x000000000000014c memsz 0x000000000000014c flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr
0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-

Dynamic Section:
  NEEDED               libthr.so.3
  NEEDED               liblldb.so.4.0.0
  NEEDED               librt.so.1
  NEEDED               libexecinfo.so.1
  NEEDED               libtinfo.so.6
  NEEDED               libz.so.6
  NEEDED               libm.so.5
  NEEDED               libc++.so.1
  NEEDED               libcxxrt.so.1
  NEEDED               libc.so.7
  RPATH                $ORIGIN/../lib
  RUNPATH              $ORIGIN/../lib
  INIT                 0x00000000004034a8
  FINI                 0x0000000000407ff8
  HASH                 0x0000000000400248
  GNU_HASH             0x00000000004008b8
  STRTAB               0x0000000000401650
  SYMTAB               0x0000000000400948
  STRSZ                0x00000000000011c4
  SYMENT               0x0000000000000018
  DEBUG                0x0000000000000000
  PLTGOT               0x000000000060a318
  PLTRELSZ             0x0000000000000a50
  PLTREL               0x0000000000000007
  JMPREL               0x0000000000402a58
  RELA                 0x0000000000402950
  RELASZ               0x0000000000000108
  RELAENT              0x0000000000000018
  FLAGS                0x0000000000000001
  FLAGS_1              0x0000000000000080
  VERNEED              0x0000000000402930
  VERNEEDNUM           0x0000000000000001
  VERSYM               0x0000000000402814

Version References:
  required from libc.so.7:
    0x077a28b0 0x00 02 FBSD_1.0

=============================================

llvm-objdump emits only the phdr:
=============================================
% /tank/emaste/src/llvm/build-nodebug/bin/llvm-objdump -p
/tank/emaste/src/llvm/build-nodebug/bin/lldb    

/tank/emaste/src/llvm/build-nodebug/bin/lldb:   file format ELF64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000400040 paddr
0x0000000000400040 align 2**3
         filesz 0x00000000000001c0 memsz 0x00000000000001c0 flags r-x
  INTERP off    0x0000000000000200 vaddr 0x0000000000400200 paddr
0x0000000000400200 align 2**0
         filesz 0x0000000000000015 memsz 0x0000000000000015 flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000400000 paddr
0x0000000000400000 align 2**21
         filesz 0x0000000000009aa4 memsz 0x0000000000009aa4 flags r-x
    LOAD off    0x000000000000a000 vaddr 0x000000000060a000 paddr
0x000000000060a000 align 2**21
         filesz 0x0000000000000aa8 memsz 0x0000000000000af0 flags rw-
 DYNAMIC off    0x000000000000a050 vaddr 0x000000000060a050 paddr
0x000000000060a050 align 2**3
         filesz 0x0000000000000270 memsz 0x0000000000000270 flags rw-
 UNKNOWN off    0x0000000000000218 vaddr 0x0000000000400218 paddr
0x0000000000400218 align 2**2
         filesz 0x0000000000000030 memsz 0x0000000000000030 flags r--
EH_FRAME off    0x00000000000093b4 vaddr 0x00000000004093b4 paddr
0x00000000004093b4 align 2**2
         filesz 0x000000000000014c memsz 0x000000000000014c flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr
0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-

=============================================

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160901/7d3ac7eb/attachment.html>


More information about the llvm-bugs mailing list