{"id":6699,"date":"2018-09-13T13:07:31","date_gmt":"2018-09-13T09:07:31","guid":{"rendered":"https:\/\/www.howtoforge.com\/linux-objdump-command\/"},"modified":"2018-09-13T13:07:31","modified_gmt":"2018-09-13T09:07:31","slug":"linux-objdump-command-explained-for-beginners-7-examples","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/linux-objdump-command-explained-for-beginners-7-examples\/","title":{"rendered":"Linux objdump Command Explained for Beginners (7 Examples)"},"content":{"rendered":"<p>If you are into programming on Linux and your work revolves around compilers, there are a handful of command line\u00a0utilities that you should be aware of. One such tool is <strong>objdump<\/strong>. In this tutorial, we will discuss the basics of this command using some easy to understand examples.<\/p>\n<p>But before we do that, it&#8217;s worth mentioning that all examples here have been tested on an Ubuntu 18.04 LTS machine.<\/p>\n<h2 id=\"linux-objdump-command\">Linux objdump command<\/h2>\n<p>The objdump command in Linux, as the name suggests, displays information from object files. Following is the tool&#8217;s syntax:<\/p>\n<p class=\"command\">objdump OPTIONS objfile &#8230;<\/p>\n<p>And here&#8217;s what the man page says about it:<\/p>\n<pre readability=\"7\">objdump displays information about one or more object files.\u00a0 The options control what particular <br\/>information to display. This information is mostly useful to programmers who are working on the <br\/>compilation tools, as opposed to programmers who just want their program to compile and work.<p>objfile... are the object files to be examined. When you specify archives, objdump shows <br\/>information on each of the member object files.<\/p><\/pre>\n<p>Following are some Q&amp;A-styled examples that should give you an even better idea on how objdump works.<\/p>\n<h2 id=\"q-how-to-make-objdump-display-file-header-contents\">Q1. How to make objdump display file header contents?<\/h2>\n<p>This can be done using the -f command line option.<\/p>\n<p>For example:<\/p>\n<p class=\"command\">objdump -f \/bin\/ls<\/p>\n<p>And here&#8217;s the output of the above command:<\/p>\n<pre>\/bin\/ls:\u00a0\u00a0\u00a0\u00a0 file format elf64-x86-64<br\/>architecture: i386:x86-64, flags 0x00000150:<br\/>HAS_SYMS, DYNAMIC, D_PAGED<br\/>start address 0x0000000000005850<\/pre>\n<p>So you can see the header contents of &#8216;ls&#8217; were displayed in the output.<\/p>\n<h2 id=\"q-how-to-make-objdump-display-object-format-specific-file-header-contents\">Q2. How to make objdump display object format specific file header contents?<\/h2>\n<p>This can be done using the -p command line option. For example, the following command:<\/p>\n<p class=\"command\">objdump -p \/bin\/ls<\/p>\n<p>Produced the following output:<\/p>\n<pre readability=\"17\">\/bin\/ls:\u00a0\u00a0\u00a0\u00a0 file format elf64-x86-64<p>Program Header:<br\/>\u00a0\u00a0\u00a0 PHDR off\u00a0\u00a0\u00a0 0x0000000000000040 vaddr 0x0000000000000040 paddr 0x0000000000000040 align 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-x<br\/>\u00a0 INTERP off\u00a0\u00a0\u00a0 0x0000000000000238 vaddr 0x0000000000000238 paddr 0x0000000000000238 align 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x000000000000001c memsz 0x000000000000001c flags r--<br\/>\u00a0\u00a0\u00a0 LOAD off\u00a0\u00a0\u00a0 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**21<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x000000000001e6e8 memsz 0x000000000001e6e8 flags r-x<br\/>\u00a0\u00a0\u00a0 LOAD off\u00a0\u00a0\u00a0 0x000000000001eff0 vaddr 0x000000000021eff0 paddr 0x000000000021eff0 align 2**21<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000001278 memsz 0x0000000000002570 flags rw-<br\/>\u00a0DYNAMIC off\u00a0\u00a0\u00a0 0x000000000001fa38 vaddr 0x000000000021fa38 paddr 0x000000000021fa38 align 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000200 memsz 0x0000000000000200 flags rw-<br\/>\u00a0\u00a0\u00a0 NOTE off\u00a0\u00a0\u00a0 0x0000000000000254 vaddr 0x0000000000000254 paddr 0x0000000000000254 align 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000044 memsz 0x0000000000000044 flags r--<br\/>EH_FRAME off\u00a0\u00a0\u00a0 0x000000000001b1a0 vaddr 0x000000000001b1a0 paddr 0x000000000001b1a0 align 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000884 memsz 0x0000000000000884 flags r--<br\/>\u00a0\u00a0 STACK off\u00a0\u00a0\u00a0 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-<br\/>\u00a0\u00a0 RELRO off\u00a0\u00a0\u00a0 0x000000000001eff0 vaddr 0x000000000021eff0 paddr 0x000000000021eff0 align 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000001010 memsz 0x0000000000001010 flags r--<\/p><p>Dynamic Section:<br\/>\u00a0 NEEDED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 libselinux.so.1<br\/>\u00a0 NEEDED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 libc.so.6<br\/>\u00a0 INIT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000003758<br\/>\u00a0 FINI\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000001636c<br\/>\u00a0 INIT_ARRAY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000021eff0<br\/>\u00a0 INIT_ARRAYSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000008<br\/>\u00a0 FINI_ARRAY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000021eff8<br\/>\u00a0 FINI_ARRAYSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000008<br\/>\u00a0 GNU_HASH\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000298<br\/>\u00a0 STRTAB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001180<br\/>\u00a0 SYMTAB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000388<br\/>\u00a0 STRSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000682<br\/>\u00a0 SYMENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000018<br\/>\u00a0 DEBUG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000000<br\/>\u00a0 PLTGOT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000021fc38<br\/>\u00a0 PLTRELSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000a68<br\/>\u00a0 PLTREL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000007<br\/>\u00a0 JMPREL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000002cf0<br\/>\u00a0 RELA\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x00000000000019a0<br\/>\u00a0 RELASZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001350<br\/>\u00a0 RELAENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000018<br\/>\u00a0 FLAGS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000008<br\/>\u00a0 FLAGS_1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000008000001<br\/>\u00a0 VERNEED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001930<br\/>\u00a0 VERNEEDNUM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000001<br\/>\u00a0 VERSYM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001802<br\/>\u00a0 RELACOUNT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x00000000000000c1<\/p><p>Version References:<br\/>\u00a0 required from libc.so.6:<br\/>\u00a0\u00a0\u00a0 0x06969194 0x00 07 GLIBC_2.14<br\/>\u00a0\u00a0\u00a0 0x0d696914 0x00 06 GLIBC_2.4<br\/>\u00a0\u00a0\u00a0 0x06969197 0x00 05 GLIBC_2.17<br\/>\u00a0\u00a0\u00a0 0x09691974 0x00 04 GLIBC_2.3.4<br\/>\u00a0\u00a0\u00a0 0x09691a75 0x00 03 GLIBC_2.2.5<br\/>\u00a0\u00a0\u00a0 0x0d696913 0x00 02 GLIBC_2.3<\/p><\/pre>\n<h2 id=\"q-how-to-make-objdump-display-contents-of-section-headers\">Q3. How to make objdump display contents of section headers?<\/h2>\n<p>This can be done using the -h command line option. For example, the following command:<\/p>\n<p class=\"command\">objdump -h \/bin\/ls<\/p>\n<p>produced the following output on my system:<\/p>\n<pre readability=\"99\">\/bin\/ls:\u00a0\u00a0\u00a0\u00a0 file format elf64-x86-64<p>Sections:<br\/>Idx Name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Size\u00a0\u00a0\u00a0\u00a0\u00a0 VMA\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LMA\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 File off\u00a0 Algn<br\/>\u00a0 0 .interp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0000001c\u00a0 0000000000000238\u00a0 0000000000000238\u00a0 00000238\u00a0 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 1 .note.ABI-tag 00000020\u00a0 0000000000000254\u00a0 0000000000000254\u00a0 00000254\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 2 .note.gnu.build-id 00000024\u00a0 0000000000000274\u00a0 0000000000000274\u00a0 00000274\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 3 .gnu.hash\u00a0\u00a0\u00a0\u00a0 000000ec\u00a0 0000000000000298\u00a0 0000000000000298\u00a0 00000298\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 4 .dynsym\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000df8\u00a0 0000000000000388\u00a0 0000000000000388\u00a0 00000388\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 5 .dynstr\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000682\u00a0 0000000000001180\u00a0 0000000000001180\u00a0 00001180\u00a0 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 6 .gnu.version\u00a0 0000012a\u00a0 0000000000001802\u00a0 0000000000001802\u00a0 00001802\u00a0 2**1<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 7 .gnu.version_r 00000070\u00a0 0000000000001930\u00a0 0000000000001930\u00a0 00001930\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 8 .rela.dyn\u00a0\u00a0\u00a0\u00a0 00001350\u00a0 00000000000019a0\u00a0 00000000000019a0\u00a0 000019a0\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 9 .rela.plt\u00a0\u00a0\u00a0\u00a0 00000a68\u00a0 0000000000002cf0\u00a0 0000000000002cf0\u00a0 00002cf0\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a010 .init\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000017\u00a0 0000000000003758\u00a0 0000000000003758\u00a0 00003758\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a011 .plt\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000700\u00a0 0000000000003770\u00a0 0000000000003770\u00a0 00003770\u00a0 2**4<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a012 .plt.got\u00a0\u00a0\u00a0\u00a0\u00a0 00000018\u00a0 0000000000003e70\u00a0 0000000000003e70\u00a0 00003e70\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a013 .text\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 000124d9\u00a0 0000000000003e90\u00a0 0000000000003e90\u00a0 00003e90\u00a0 2**4<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a014 .fini\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000009\u00a0 000000000001636c\u00a0 000000000001636c\u00a0 0001636c\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a015 .rodata\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00004e1d\u00a0 0000000000016380\u00a0 0000000000016380\u00a0 00016380\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a016 .eh_frame_hdr 00000884\u00a0 000000000001b1a0\u00a0 000000000001b1a0\u00a0 0001b1a0\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a017 .eh_frame\u00a0\u00a0\u00a0\u00a0 00002cc0\u00a0 000000000001ba28\u00a0 000000000001ba28\u00a0 0001ba28\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a018 .init_array\u00a0\u00a0 00000008\u00a0 000000000021eff0\u00a0 000000000021eff0\u00a0 0001eff0\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a019 .fini_array\u00a0\u00a0 00000008\u00a0 000000000021eff8\u00a0 000000000021eff8\u00a0 0001eff8\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a020 .data.rel.ro\u00a0 00000a38\u00a0 000000000021f000\u00a0 000000000021f000\u00a0 0001f000\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a021 .dynamic\u00a0\u00a0\u00a0\u00a0\u00a0 00000200\u00a0 000000000021fa38\u00a0 000000000021fa38\u00a0 0001fa38\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a022 .got\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 000003c8\u00a0 000000000021fc38\u00a0 000000000021fc38\u00a0 0001fc38\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a023 .data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000268\u00a0 0000000000220000\u00a0 0000000000220000\u00a0 00020000\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a024 .bss\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 000012e0\u00a0 0000000000220280\u00a0 0000000000220280\u00a0 00020268\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ALLOC<br\/>\u00a025 .gnu_debuglink 00000034\u00a0 0000000000000000\u00a0 0000000000000000\u00a0 00020268\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, READONLY<\/p><\/pre>\n<h2 id=\"q-how-to-make-objdump-display-all-headers\">Q4. How to make objdump display all headers?<\/h2>\n<p>To make objdump display all headers, use the -x command line option.<\/p>\n<p class=\"command\">objdump -x \/bin\/ls<\/p>\n<p>Following is the output this command produced on my system:<\/p>\n<pre readability=\"113\">\/bin\/ls:\u00a0\u00a0\u00a0\u00a0 file format elf64-x86-64<br\/>\/bin\/ls<br\/>architecture: i386:x86-64, flags 0x00000150:<br\/>HAS_SYMS, DYNAMIC, D_PAGED<br\/>start address 0x0000000000005850<p>Program Header:<br\/>\u00a0\u00a0\u00a0 PHDR off\u00a0\u00a0\u00a0 0x0000000000000040 vaddr 0x0000000000000040 paddr 0x0000000000000040 align 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-x<br\/>\u00a0 INTERP off\u00a0\u00a0\u00a0 0x0000000000000238 vaddr 0x0000000000000238 paddr 0x0000000000000238 align 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x000000000000001c memsz 0x000000000000001c flags r--<br\/>\u00a0\u00a0\u00a0 LOAD off\u00a0\u00a0\u00a0 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**21<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x000000000001e6e8 memsz 0x000000000001e6e8 flags r-x<br\/>\u00a0\u00a0\u00a0 LOAD off\u00a0\u00a0\u00a0 0x000000000001eff0 vaddr 0x000000000021eff0 paddr 0x000000000021eff0 align 2**21<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000001278 memsz 0x0000000000002570 flags rw-<br\/>\u00a0DYNAMIC off\u00a0\u00a0\u00a0 0x000000000001fa38 vaddr 0x000000000021fa38 paddr 0x000000000021fa38 align 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000200 memsz 0x0000000000000200 flags rw-<br\/>\u00a0\u00a0\u00a0 NOTE off\u00a0\u00a0\u00a0 0x0000000000000254 vaddr 0x0000000000000254 paddr 0x0000000000000254 align 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000044 memsz 0x0000000000000044 flags r--<br\/>EH_FRAME off\u00a0\u00a0\u00a0 0x000000000001b1a0 vaddr 0x000000000001b1a0 paddr 0x000000000001b1a0 align 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000884 memsz 0x0000000000000884 flags r--<br\/>\u00a0\u00a0 STACK off\u00a0\u00a0\u00a0 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-<br\/>\u00a0\u00a0 RELRO off\u00a0\u00a0\u00a0 0x000000000001eff0 vaddr 0x000000000021eff0 paddr 0x000000000021eff0 align 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 filesz 0x0000000000001010 memsz 0x0000000000001010 flags r--<\/p><p>Dynamic Section:<br\/>\u00a0 NEEDED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 libselinux.so.1<br\/>\u00a0 NEEDED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 libc.so.6<br\/>\u00a0 INIT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000003758<br\/>\u00a0 FINI\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000001636c<br\/>\u00a0 INIT_ARRAY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000021eff0<br\/>\u00a0 INIT_ARRAYSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000008<br\/>\u00a0 FINI_ARRAY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000021eff8<br\/>\u00a0 FINI_ARRAYSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000008<br\/>\u00a0 GNU_HASH\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000298<br\/>\u00a0 STRTAB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001180<br\/>\u00a0 SYMTAB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000388<br\/>\u00a0 STRSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000682<br\/>\u00a0 SYMENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000018<br\/>\u00a0 DEBUG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000000<br\/>\u00a0 PLTGOT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x000000000021fc38<br\/>\u00a0 PLTRELSZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000a68<br\/>\u00a0 PLTREL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000007<br\/>\u00a0 JMPREL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000002cf0<br\/>\u00a0 RELA\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x00000000000019a0<br\/>\u00a0 RELASZ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001350<br\/>\u00a0 RELAENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000018<br\/>\u00a0 FLAGS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000008<br\/>\u00a0 FLAGS_1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000008000001<br\/>\u00a0 VERNEED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001930<br\/>\u00a0 VERNEEDNUM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000000001<br\/>\u00a0 VERSYM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0000000000001802<br\/>\u00a0 RELACOUNT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x00000000000000c1<\/p><p>Version References:<br\/>\u00a0 required from libc.so.6:<br\/>\u00a0\u00a0\u00a0 0x06969194 0x00 07 GLIBC_2.14<br\/>\u00a0\u00a0\u00a0 0x0d696914 0x00 06 GLIBC_2.4<br\/>\u00a0\u00a0\u00a0 0x06969197 0x00 05 GLIBC_2.17<br\/>\u00a0\u00a0\u00a0 0x09691974 0x00 04 GLIBC_2.3.4<br\/>\u00a0\u00a0\u00a0 0x09691a75 0x00 03 GLIBC_2.2.5<br\/>\u00a0\u00a0\u00a0 0x0d696913 0x00 02 GLIBC_2.3<\/p><p>Sections:<br\/>Idx Name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Size\u00a0\u00a0\u00a0\u00a0\u00a0 VMA\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LMA\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 File off\u00a0 Algn<br\/>\u00a0 0 .interp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0000001c\u00a0 0000000000000238\u00a0 0000000000000238\u00a0 00000238\u00a0 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 1 .note.ABI-tag 00000020\u00a0 0000000000000254\u00a0 0000000000000254\u00a0 00000254\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 2 .note.gnu.build-id 00000024\u00a0 0000000000000274\u00a0 0000000000000274\u00a0 00000274\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 3 .gnu.hash\u00a0\u00a0\u00a0\u00a0 000000ec\u00a0 0000000000000298\u00a0 0000000000000298\u00a0 00000298\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 4 .dynsym\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000df8\u00a0 0000000000000388\u00a0 0000000000000388\u00a0 00000388\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 5 .dynstr\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000682\u00a0 0000000000001180\u00a0 0000000000001180\u00a0 00001180\u00a0 2**0<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 6 .gnu.version\u00a0 0000012a\u00a0 0000000000001802\u00a0 0000000000001802\u00a0 00001802\u00a0 2**1<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 7 .gnu.version_r 00000070\u00a0 0000000000001930\u00a0 0000000000001930\u00a0 00001930\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 8 .rela.dyn\u00a0\u00a0\u00a0\u00a0 00001350\u00a0 00000000000019a0\u00a0 00000000000019a0\u00a0 000019a0\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a0 9 .rela.plt\u00a0\u00a0\u00a0\u00a0 00000a68\u00a0 0000000000002cf0\u00a0 0000000000002cf0\u00a0 00002cf0\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a010 .init\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000017\u00a0 0000000000003758\u00a0 0000000000003758\u00a0 00003758\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a011 .plt\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000700\u00a0 0000000000003770\u00a0 0000000000003770\u00a0 00003770\u00a0 2**4<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a012 .plt.got\u00a0\u00a0\u00a0\u00a0\u00a0 00000018\u00a0 0000000000003e70\u00a0 0000000000003e70\u00a0 00003e70\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a013 .text\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 000124d9\u00a0 0000000000003e90\u00a0 0000000000003e90\u00a0 00003e90\u00a0 2**4<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a014 .fini\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000009\u00a0 000000000001636c\u00a0 000000000001636c\u00a0 0001636c\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, CODE<br\/>\u00a015 .rodata\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00004e1d\u00a0 0000000000016380\u00a0 0000000000016380\u00a0 00016380\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a016 .eh_frame_hdr 00000884\u00a0 000000000001b1a0\u00a0 000000000001b1a0\u00a0 0001b1a0\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a017 .eh_frame\u00a0\u00a0\u00a0\u00a0 00002cc0\u00a0 000000000001ba28\u00a0 000000000001ba28\u00a0 0001ba28\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, READONLY, DATA<br\/>\u00a018 .init_array\u00a0\u00a0 00000008\u00a0 000000000021eff0\u00a0 000000000021eff0\u00a0 0001eff0\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a019 .fini_array\u00a0\u00a0 00000008\u00a0 000000000021eff8\u00a0 000000000021eff8\u00a0 0001eff8\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a020 .data.rel.ro\u00a0 00000a38\u00a0 000000000021f000\u00a0 000000000021f000\u00a0 0001f000\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a021 .dynamic\u00a0\u00a0\u00a0\u00a0\u00a0 00000200\u00a0 000000000021fa38\u00a0 000000000021fa38\u00a0 0001fa38\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a022 .got\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 000003c8\u00a0 000000000021fc38\u00a0 000000000021fc38\u00a0 0001fc38\u00a0 2**3<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a023 .data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000268\u00a0 0000000000220000\u00a0 0000000000220000\u00a0 00020000\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, ALLOC, LOAD, DATA<br\/>\u00a024 .bss\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 000012e0\u00a0 0000000000220280\u00a0 0000000000220280\u00a0 00020268\u00a0 2**5<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ALLOC<br\/>\u00a025 .gnu_debuglink 00000034\u00a0 0000000000000000\u00a0 0000000000000000\u00a0 00020268\u00a0 2**2<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CONTENTS, READONLY<br\/>SYMBOL TABLE:<br\/>no symbols<\/p><\/pre>\n<h2 id=\"q-how-to-make-objdump-display-assembler-contents-of-executable-sections\">Q5. How to make objdump display assembler contents of executable sections?<\/h2>\n<p>For this, use the -d command line option. Here&#8217;s an example showing this option in action:<\/p>\n<p class=\"command\">objdump -d \/bin\/ls<\/p>\n<p>And here&#8217;s an excerpt from the output:<\/p>\n<pre readability=\"30.867810292634\">\/bin\/ls:\u00a0\u00a0\u00a0\u00a0 file format elf64-x86-64<p>Disassembly of section .init:<\/p><p>0000000000003758 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"0a556364637e4a\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>@Base&gt;:<br\/>\u00a0\u00a0\u00a0 3758:\u00a0\u00a0 \u00a048 83 ec 08\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0sub\u00a0\u00a0\u00a0 $0x8,%rsp<br\/>\u00a0\u00a0\u00a0 375c:\u00a0\u00a0 \u00a048 8b 05 7d c8 21 00 \u00a0\u00a0 \u00a0mov\u00a0\u00a0\u00a0 0x21c87d(%rip),%rax\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # 21ffe0 &lt;__gmon_start__&gt;<br\/>\u00a0\u00a0\u00a0 3763:\u00a0\u00a0 \u00a048 85 c0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0test\u00a0\u00a0 %rax,%rax<br\/>\u00a0\u00a0\u00a0 3766:\u00a0\u00a0 \u00a074 02\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0je\u00a0\u00a0\u00a0\u00a0 376a &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"bae5d3d4d3cefa\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>@Base+0x12&gt;<br\/>\u00a0\u00a0\u00a0 3768:\u00a0\u00a0 \u00a0ff d0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0callq\u00a0 *%rax<br\/>\u00a0\u00a0\u00a0 376a:\u00a0\u00a0 \u00a048 83 c4 08\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0add\u00a0\u00a0\u00a0 $0x8,%rsp<br\/>\u00a0\u00a0\u00a0 376e:\u00a0\u00a0 \u00a0c3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0retq\u00a0 \u00a0<\/p><p>Disassembly of section .plt:<\/p><p>0000000000003770 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"b7e8e8d4c3cec7d2e8c3d8c2c7c7d2c5e8dbd8d4f7c7dbc39a87cf8687\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>&gt;:<br\/>\u00a0\u00a0\u00a0 3770:\u00a0\u00a0 \u00a0ff 35 ca c4 21 00\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0pushq\u00a0 0x21c4ca(%rip)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # 21fc40 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"0475716b706d6a635b77707d68615b6576637744\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>@Base+0x260&gt;<br\/>\u00a0\u00a0\u00a0 3776:\u00a0\u00a0 \u00a0ff 25 cc c4 21 00\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0jmpq\u00a0\u00a0 *0x21c4cc(%rip)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # 21fc48 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"1061657f64797e774f6364697c754f7162776350\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>@Base+0x268&gt;<br\/>\u00a0\u00a0\u00a0 377c:\u00a0\u00a0 \u00a00f 1f 40 00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0nopl\u00a0\u00a0 0x0(%rax)<\/p><p>0000000000003780 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"fda2a29e89848d98a28992888d8d988fa291929ebd8d9189\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>&gt;:<br\/>\u00a0\u00a0\u00a0 3780:\u00a0\u00a0 \u00a0ff 25 ca c4 21 00\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0jmpq\u00a0\u00a0 *0x21c4ca(%rip)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # 21fc50 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"da8585b9aea3aabf85aeb5afaaaabfa885b6b5b99a9d96939899\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>_2.3&gt;<br\/>\u00a0\u00a0\u00a0 3786:\u00a0\u00a0 \u00a068 00 00 00 00\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0pushq\u00a0 $0x0<br\/>\u00a0\u00a0\u00a0 378b:\u00a0\u00a0 \u00a0e9 e0 ff ff ff\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0jmpq\u00a0\u00a0 3770 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"98c7f1f6f1ecd8\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>@Base+0x18&gt;<\/p><p>0000000000003790 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"1847476d7e74776f5868746c\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>&gt;:<br\/>\u00a0\u00a0\u00a0 3790:\u00a0\u00a0 \u00a0ff 25 c2 c4 21 00\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0jmpq\u00a0\u00a0 *0x21c4c2(%rip)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # 21fc58 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"97c8c8e2f1fbf8e0d7d0dbded5d4\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>_2.2.5&gt;<br\/>\u00a0\u00a0\u00a0 3796:\u00a0\u00a0 \u00a068 01 00 00 00\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0pushq\u00a0 $0x1<br\/>\u00a0\u00a0\u00a0 379b:\u00a0\u00a0 \u00a0e9 d0 ff ff ff\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0jmpq\u00a0\u00a0 3770 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"26794f484f5266\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>@Base+0x18&gt;<\/p><p>00000000000037a0 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"b1d6d4c5d4dfc7f1c1ddc5\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>&gt;:<br\/>\u00a0\u00a0\u00a0 37a0:\u00a0\u00a0 \u00a0ff 25 ba c4 21 00\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0jmpq\u00a0\u00a0 *0x21c4ba(%rip)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # 21fc60 &lt;<a href=\"https:\/\/www.howtoforge.com\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"6f080a1b0a01192f2823262d2c\" target=\"_blank\" rel=\"noopener\">[email\u00a0protected]<\/a>_2.2.5&gt;<br\/>\u00a0\u00a0\u00a0 37a6:\u00a0\u00a0 \u00a068 02 00 00 00\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0pushq\u00a0 $0x2<\/p><\/pre>\n<p>Similarly, you can use the -D command line option to make objdump display assembler contents of all sections, and -S option to make sure the tool intermixes source code with disassembly.<\/p>\n<h2 id=\"q-how-to-make-objdump-display-debug-information\">Q6. How to make objdump display debug information?<\/h2>\n<p>This can be made possible by using the -S command line option.<\/p>\n<p class=\"command\">objdump -g \/bin\/ls<\/p>\n<p>Following is an excerpt from the output produced by this command:<\/p>\n<pre readability=\"16\">Contents of the .eh_frame section (loaded from \/bin\/ls):<p>00000000 0000000000000014 00000000 CIE<br\/>\u00a0 Version:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1<br\/>\u00a0 Augmentation:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"zR\"<br\/>\u00a0 Code alignment factor: 1<br\/>\u00a0 Data alignment factor: -8<br\/>\u00a0 Return address column: 16<br\/>\u00a0 Augmentation data:\u00a0\u00a0\u00a0\u00a0 1b<br\/>\u00a0 DW_CFA_def_cfa: r7 (rsp) ofs 8<br\/>\u00a0 DW_CFA_offset: r16 (rip) at cfa-8<br\/>\u00a0 DW_CFA_undefined: r16 (rip)<\/p><p>00000018 0000000000000014 0000001c FDE cie=00000000 pc=0000000000005850..000000000000587b<br\/>\u00a0 DW_CFA_nop<br\/>\u00a0 DW_CFA_nop<br\/>\u00a0 DW_CFA_nop<br\/>\u00a0 DW_CFA_nop<br\/>\u00a0 DW_CFA_nop<br\/>\u00a0 DW_CFA_nop<br\/>\u00a0 DW_CFA_nop<\/p><p>00000030 0000000000000014 00000000 CIE<br\/>\u00a0 Version:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1<br\/>\u00a0 Augmentation:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"zR\"<br\/>\u00a0 Code alignment factor: 1<br\/>\u00a0 Data alignment factor: -8<br\/>\u00a0 Return address column: 16<br\/>\u00a0 Augmentation data:\u00a0\u00a0\u00a0\u00a0 1b<br\/>\u00a0 DW_CFA_def_cfa: r7 (rsp) ofs 8<br\/>\u00a0 DW_CFA_offset: r16 (rip) at cfa-8<\/p><\/pre>\n<h2 id=\"q-how-to-make-objdump-display-contents-of-symbol-table\">Q7. How to make objdump display contents of symbol table?<\/h2>\n<p>This can be done using the -t command line option.<\/p>\n<p class=\"command\">objdump -t \/bin\/ls<\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>We&#8217;ve just scratched the surface here, as the objdump command offers a lot of command line options. Once you&#8217;re done practicing these, you can learn more about the tool by heading to its <a href=\"https:\/\/linux.die.net\/man\/1\/objdump\" target=\"_blank\" rel=\"noopener\">man page<\/a>.<\/p>\n<div class=\"authorbox\" readability=\"15\">\n<img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/09\/linux-objdump-command-explained-for-beginners-7-examples.jpg\" alt=\"Himanshu Arora\" title=\"\"> <\/p>\n<p><strong>About Himanshu Arora<\/strong><\/p>\n<p>Himanshu Arora has been working on Linux since 2007. He carries professional experience in system level programming, networking protocols, and command line. In addition to HowtoForge, Himanshu&#8217;s work has also been featured in some of world&#8217;s other leading publications including Computerworld, IBM DeveloperWorks, and Linux Journal.<\/p>\n<\/div>\n<div>\n<p><b>Share this page:<\/b><\/p>\n<p>\n<a href=\"https:\/\/www.facebook.com\/sharer.php?u=https%3A%2F%2Fwww.howtoforge.com%2Flinux-objdump-command%2F\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/09\/linux-objdump-command-explained-for-beginners-7-examples.png\" height=\"20\" alt=\"\" title=\"\"><\/a><br \/>\n<a href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fwww.howtoforge.com%2Flinux-objdump-command%2F&amp;text=Linux+objdump+Command+Explained+for+Beginners+%287+Examples%29&amp;via=howtoforgecom&amp;related=howtoforgecom\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/09\/linux-objdump-command-explained-for-beginners-7-examples-1.png\" height=\"20\" alt=\"\" title=\"\"><\/a><br \/>\n<a href=\"https:\/\/twitter.com\/howtoforgecom\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/09\/linux-objdump-command-explained-for-beginners-7-examples-2.png\" height=\"20\" alt=\"\" title=\"\"><\/a><br \/>\n<a href=\"https:\/\/plus.google.com\/share?url=https%3A%2F%2Fwww.howtoforge.com%2Flinux-objdump-command%2F\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2018\/09\/linux-objdump-command-explained-for-beginners-7-examples-3.png\" height=\"20\" alt=\"\" title=\"\"><\/a>\n<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>If you are into programming on Linux and your work revolves around compilers, there are a handful of command line\u00a0utilities that you should be aware of. One such tool is objdump. In this tutorial, we will discuss the basics of this command using some easy to understand examples. But before we do that, it&#8217;s worth &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-6699","post","type-post","status-publish","format-standard","hentry","category-36"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/6699","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=6699"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/6699\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=6699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=6699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=6699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}