<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - llvm-objdump -p omits dynamic headers (in comparison to GNU objdump)"
href="https://llvm.org/bugs/show_bug.cgi?id=30241">30241</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>llvm-objdump -p omits dynamic headers (in comparison to GNU objdump)
</td>
</tr>
<tr>
<th>Product</th>
<td>new-bugs
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>FreeBSD
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>new bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>emaste@freebsd.org
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>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-
=============================================</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>