There are 15 section headers, starting at offset .*:

Section Headers:
  \[Nr\] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  \[ 0\]                   NULL            00000000 000000 000000 00      0   0  0
  \[ 1\] \.hash             HASH            00008000 001000 00003c 04   A  2   0  4
  \[ 2\] \.dynsym           DYNSYM          0000803c 00103c 0000a0 10   A  3   5  4
  \[ 3\] \.dynstr           STRTAB          000080dc 0010dc 00001d 00   A  0   0  1
  \[ 4\] \.rela\.got         RELA            000080fc 0010fc 000024 0c  AI  2   8  4
  \[ 5\] \.rela\.neardata    RELA            00008120 001120 000030 0c  AI  2   9  4
  \[ 6\] \.dynamic          DYNAMIC         00008150 001150 000090 08  WA  3   0  4
  \[ 7\] \.text             PROGBITS        10000000 002000 0000c0 00  AX  0   0 32
  \[ 8\] \.got              PROGBITS        100000c0 0020c0 000020 00  WA  0   0  4
  \[ 9\] \.neardata         PROGBITS        100000e0 0020e0 000014 00  WA  0   0  4
  \[10\] \.bss              NOBITS          100000f4 0020f4 000004 00  WA  0   0  4
  \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00      0   0  1
  \[12\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
  \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
  \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
Key to Flags:
#...

Elf file type is EXEC \(Executable file\)
Entry point 0x10000000
There are 4 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x001000 0x00008000 0x00008000 0x001e0 0x001e0 RW  0x1000
  LOAD           0x002000 0x10000000 0x10000000 0x000f4 0x000f8 RWE 0x1000
  DYNAMIC        0x001150 0x00008150 0x00008150 0x00090 0x00090 RW  0x4
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8

 Section to Segment mapping:
  Segment Sections\.\.\.
   00     \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic 
   01     \.text \.got \.neardata \.bss 
   02     \.dynamic 
   03     

Dynamic section at offset 0x1150 contains 13 entries:
  Tag        Type                         Name/Value
 0x00000004 \(HASH\)                       0x8000
 0x00000005 \(STRTAB\)                     0x80dc
 0x00000006 \(SYMTAB\)                     0x803c
 0x0000000a \(STRSZ\)                      29 \(bytes\)
 0x0000000b \(SYMENT\)                     16 \(bytes\)
 0x00000015 \(DEBUG\)                      0x0
 0x70000000 \(C6000_DSBT_BASE\)            0x100000c0
 0x70000001 \(C6000_DSBT_SIZE\)            0x3
 0x70000003 \(C6000_DSBT_INDEX\)           0x0
 0x00000007 \(RELA\)                       0x80fc
 0x00000008 \(RELASZ\)                     84 \(bytes\)
 0x00000009 \(RELAENT\)                    12 \(bytes\)
 0x00000000 \(NULL\)                       0x0

Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries:
 Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
100000d8  00000401 R_C6000_ABS32          100000f4   \.bss \+ 0
100000d4  00000701 R_C6000_ABS32          100000e8   b \+ 0
100000dc  00000901 R_C6000_ABS32          100000e0   a \+ 0

Relocation section '\.rela\.neardata' at offset 0x1120 contains 4 entries:
 Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
100000e0  00000101 R_C6000_ABS32          10000000   \.text \+ 8
100000e4  00000801 R_C6000_ABS32          00000000   g1 \+ 0
100000ec  00000801 R_C6000_ABS32          00000000   g1 \+ 0
100000f0  00000301 R_C6000_ABS32          100000e0   \.neardata \+ 4

Symbol table '\.dynsym' contains 10 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 10000000     0 SECTION LOCAL  DEFAULT    7 
     2: 100000c0     0 SECTION LOCAL  DEFAULT    8 
     3: 100000e0     0 SECTION LOCAL  DEFAULT    9 
     4: 100000f4     0 SECTION LOCAL  DEFAULT   10 
     5: 100000f4     4 OBJECT  LOCAL  DEFAULT   10 c
     6: 100000c0     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
     7: 100000e8     4 OBJECT  GLOBAL DEFAULT    9 b
     8: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
     9: 100000e0     4 OBJECT  GLOBAL DEFAULT    9 a

Symbol table '\.symtab' contains [0-9]+ entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
.* 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
.* 00008000     0 SECTION LOCAL  DEFAULT    1 
.* 0000803c     0 SECTION LOCAL  DEFAULT    2 
.* 000080dc     0 SECTION LOCAL  DEFAULT    3 
.* 000080fc     0 SECTION LOCAL  DEFAULT    4 
.* 00008120     0 SECTION LOCAL  DEFAULT    5 
.* 00008150     0 SECTION LOCAL  DEFAULT    6 
.* 10000000     0 SECTION LOCAL  DEFAULT    7 
.* 100000c0     0 SECTION LOCAL  DEFAULT    8 
.* 100000e0     0 SECTION LOCAL  DEFAULT    9 
.* 100000f4     0 SECTION LOCAL  DEFAULT   10 
.* 00000000     0 SECTION LOCAL  DEFAULT   11 
.* 00000000     0 FILE    LOCAL  DEFAULT  ABS .*
.* 10000000     0 FUNC    LOCAL  HIDDEN     7 sub1
.* 00000000     0 FILE    LOCAL  DEFAULT  ABS .*
.* 10000080     0 NOTYPE  LOCAL  DEFAULT    7 fish
.* 100000ec     8 OBJECT  LOCAL  DEFAULT    9 w
.* 00000000     0 FILE    LOCAL  DEFAULT  ABS .*
.* 00008150     0 OBJECT  LOCAL  DEFAULT    6 _DYNAMIC
.* 100000f4     4 OBJECT  LOCAL  DEFAULT   10 c
.* 100000cc     0 OBJECT  LOCAL  DEFAULT    8 _GLOBAL_OFFSET_TABLE_
.* 100000c0     0 NOTYPE  LOCAL  DEFAULT    8 __c6xabi_DSBT_BASE
.* 100000e8     4 OBJECT  GLOBAL DEFAULT    9 b
.* 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
.* 100000e4     4 OBJECT  GLOBAL DEFAULT    9 g2
.* 10000008    52 FUNC    GLOBAL DEFAULT    7 sub0
.* 100000e0     4 OBJECT  GLOBAL DEFAULT    9 a
.* 10000040    52 FUNC    GLOBAL DEFAULT    7 sub
