There are 18 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 000048 04   A  2   0  4
  \[ 2\] \.dynsym           DYNSYM          00008048 001048 0000d0 10   A  3   6  4
  \[ 3\] \.dynstr           STRTAB          00008118 001118 000025 00   A  0   0  1
  \[ 4\] \.rela\.text        RELA            00008140 001140 00000c 0c  AI  2  10  4
  \[ 5\] \.rela\.got         RELA            0000814c 00114c 000024 0c  AI  2  11  4
  \[ 6\] \.rela\.neardata    RELA            00008170 001170 000018 0c  AI  2  12  4
  \[ 7\] \.dynamic          DYNAMIC         00008188 001188 0000b0 08  WA  3   0  4
  \[ 8\] \.rela\.plt         RELA            10000000 002000 000018 0c  AI  2   9  4
  \[ 9\] \.plt              PROGBITS        10000020 002020 000060 18  AX  0   0 32
  \[10\] \.text             PROGBITS        10000080 002080 000080 00  AX  0   0 32
  \[11\] \.got              PROGBITS        10000100 002100 000028 00  WA  0   0  4
  \[12\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
  \[13\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
  \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
  \[15\] \.shstrtab         STRTAB          00000000 002149 000080 00      0   0  1
  \[16\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     17  [0-9]+  4
  \[17\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
Key to Flags:
  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)

Elf file type is DYN \(Shared object file\)
Entry point 0x10000080
There are 4 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x001000 0x00008000 0x00008000 0x00238 0x00238 RW  0x1000
  LOAD           0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000
  DYNAMIC        0x001188 0x00008188 0x00008188 0x000b0 0x000b0 RW  0x4
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8

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

Dynamic section at offset 0x1188 contains 17 entries:
  Tag        Type                         Name/Value
 0x00000004 \(HASH\)                       0x8000
 0x00000005 \(STRTAB\)                     0x8118
 0x00000006 \(SYMTAB\)                     0x8048
 0x0000000a \(STRSZ\)                      37 \(bytes\)
 0x0000000b \(SYMENT\)                     16 \(bytes\)
 0x70000000 \(C6000_DSBT_BASE\)            0x10000100
 0x70000001 \(C6000_DSBT_SIZE\)            0x3
 0x70000003 \(C6000_DSBT_INDEX\)           0x0
 0x00000003 \(PLTGOT\)                     0x1000010c
 0x00000002 \(PLTRELSZ\)                   24 \(bytes\)
 0x00000014 \(PLTREL\)                     RELA
 0x00000017 \(JMPREL\)                     0x10000000
 0x00000007 \(RELA\)                       0x8140
 0x00000008 \(RELASZ\)                     96 \(bytes\)
 0x00000009 \(RELAENT\)                    12 \(bytes\)
 0x00000016 \(TEXTREL\)                    0x0
 0x00000000 \(NULL\)                       0x0

Relocation section '\.rela\.text' at offset 0x1140 contains 1 entries:
 Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
10000094  00000618 R_C6000_DSBT_INDEX     10000100   __c6xabi_DSBT_BASE \+ 0

Relocation section '\.rela\.got' at offset 0x114c contains 3 entries:
 Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
10000120  00000501 R_C6000_ABS32          10000130   \.bss \+ 0
1000011c  00000701 R_C6000_ABS32          00000000   b \+ 0
10000124  00000b01 R_C6000_ABS32          10000128   a \+ 0

Relocation section '\.rela\.neardata' at offset 0x1170 contains 2 entries:
 Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
10000128  00000a01 R_C6000_ABS32          10000088   sub0 \+ 0
1000012c  00000801 R_C6000_ABS32          00000000   g1 \+ 0

Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries:
 Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
10000114  00000a1b R_C6000_JUMP_SLOT      10000088   sub0 \+ 0
10000118  00000c1b R_C6000_JUMP_SLOT      100000c0   sub \+ 0

Symbol table '\.dynsym' contains 13 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 10000020     0 SECTION LOCAL  DEFAULT    9 
     2: 10000080     0 SECTION LOCAL  DEFAULT   10 
     3: 10000100     0 SECTION LOCAL  DEFAULT   11 
     4: 10000128     0 SECTION LOCAL  DEFAULT   12 
     5: 10000130     0 SECTION LOCAL  DEFAULT   13 
     6: 10000100     0 NOTYPE  LOCAL  DEFAULT   11 __c6xabi_DSBT_BASE
     7: 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
     8: 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
     9: 1000012c     4 OBJECT  GLOBAL DEFAULT   12 g2
    10: 10000088    52 FUNC    GLOBAL DEFAULT   10 sub0
    11: 10000128     4 OBJECT  GLOBAL DEFAULT   12 a
    12: 100000c0    52 FUNC    GLOBAL DEFAULT   10 sub

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 
.* 00008048     0 SECTION LOCAL  DEFAULT    2 
.* 00008118     0 SECTION LOCAL  DEFAULT    3 
.* 00008140     0 SECTION LOCAL  DEFAULT    4 
.* 0000814c     0 SECTION LOCAL  DEFAULT    5 
.* 00008170     0 SECTION LOCAL  DEFAULT    6 
.* 00008188     0 SECTION LOCAL  DEFAULT    7 
.* 10000000     0 SECTION LOCAL  DEFAULT    8 
.* 10000020     0 SECTION LOCAL  DEFAULT    9 
.* 10000080     0 SECTION LOCAL  DEFAULT   10 
.* 10000100     0 SECTION LOCAL  DEFAULT   11 
.* 10000128     0 SECTION LOCAL  DEFAULT   12 
.* 10000130     0 SECTION LOCAL  DEFAULT   13 
.* 00000000     0 SECTION LOCAL  DEFAULT   14 
.* 00000000     0 FILE    LOCAL  DEFAULT  ABS .*
.* 10000080     0 FUNC    LOCAL  HIDDEN    10 sub1
.* 10000130     4 OBJECT  LOCAL  DEFAULT   13 c
.* 00000000     0 FILE    LOCAL  DEFAULT  ABS .*
.* 00008188     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
.* 1000010c     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
.* 10000100     0 NOTYPE  LOCAL  DEFAULT   11 __c6xabi_DSBT_BASE
.* 00000000     0 NOTYPE  WEAK   DEFAULT  UND b
.* 00000000     0 NOTYPE  WEAK   DEFAULT  UND g1
.* 1000012c     4 OBJECT  GLOBAL DEFAULT   12 g2
.* 10000088    52 FUNC    GLOBAL DEFAULT   10 sub0
.* 10000128     4 OBJECT  GLOBAL DEFAULT   12 a
.* 100000c0    52 FUNC    GLOBAL DEFAULT   10 sub
