I'm reading an old book on linkers and loaders and it has images of object code. But I can't figure out what tools is used to display the contents of these files. I'd appreciate if someone could point out the tool.Here is the C code and corresponding display of the object files.Source file m.c:extern void a(char *);int main(int argc, char **argv){  static char string[] = Hello, world!\n;  a(string);}Source file a.c:#include <unistd.h>#include <string.h>void a(char *s){  write(1, s, strlen(s));}Object code for m.o:Sections:Idx Name Size VMA LMA File off Algn0 .text 00000010 00000000 00000000 00000020 2**31 .data 00000010 00000010 00000010 00000030 2**3Disassembly of section .text: 00000000 <_main>:0: 55 pushl %ebp1: 89 e5 movl %esp,%ebp3: 68 10 00 00 00 pushl $0x104: 32 .data8: e8 f3 ff ff ff call 09: DISP32 _ad: c9 leavee: c3 ret...Object code for a.o:Sections:Idx Name Size VMA LMA File off Algn0 .text 0000001c 00000000 00000000 00000020 2**2CONTENTS, ALLOC, LOAD, RELOC, CODE1 .data 00000000 0000001c 0000001c 0000003c 2**2CONTENTS, ALLOC, LOAD, DATADisassembly of section .text: 00000000 <_a>:0: 55 pushl %ebp1: 89 e5 movl %esp,%ebp3: 53 pushl %ebx4: 8b 5d 08 movl 0x8(%ebp),%ebx7: 53 pushl %ebx8: e8 f3 ff ff ff call 09: DISP32 _strlend: 50 pushl %eaxe: 53 pushl %ebxf: 6a 01 pushl $0x111: e8 ea ff ff ff call 012: DISP32 _write16: 8d 65 fc leal -4(%ebp),%esp19: 5b popl %ebx1a: c9 leave1b: c3 ret
What tool to use to view an object file?
utilities
You can use objdump. See man objdump. For example -d option for disassemble (there are a lot of options):objdump -d a.oAnother useful programs are included in binutils.