bfd/
authorAlan Modra <amodra@gmail.com>
Mon, 21 Mar 2005 13:56:57 +0000 (13:56 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 21 Mar 2005 13:56:57 +0000 (13:56 +0000)
* elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
SEC_LINKER_CREATED.  Attach to dynobj.
(ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
ld/
* scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
ld/testsuite/
* ld-powerpc/tlsexe32.r: Update.
* ld-powerpc/tlsso32.d: Update.
* ld-powerpc/tlsso32.g: Update.
* ld-powerpc/tlsso32.r: Update.

bfd/ChangeLog
bfd/elf32-ppc.c
ld/ChangeLog
ld/scripttempl/elf.sc
ld/testsuite/ChangeLog
ld/testsuite/ld-powerpc/tlsexe32.r
ld/testsuite/ld-powerpc/tlsso32.d
ld/testsuite/ld-powerpc/tlsso32.g
ld/testsuite/ld-powerpc/tlsso32.r

index 014759d46c44c581e1205f2d900eab16957ec301..fd44c075cf4c0ff04815a18efd966f5b255bdc0f 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
+       SEC_LINKER_CREATED.  Attach to dynobj.
+       (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
+
 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
 
        * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
index 2e9b549017bd9951a131a9e5fd3e48462b69a6df..a80cfa440a21430adc1d6afafd620eaff9c2542c 100644 (file)
@@ -2381,11 +2381,14 @@ ppc_elf_add_symbol_hook (bfd *abfd,
       htab = ppc_elf_hash_table (info);
       if (htab->sbss == NULL)
        {
-         flagword flags = SEC_IS_COMMON;
+         flagword flags = SEC_IS_COMMON | SEC_LINKER_CREATED;
 
-         htab->sbss = bfd_make_section_anyway (abfd, ".sbss");
+         if (!htab->elf.dynobj)
+           htab->elf.dynobj = abfd;
+
+         htab->sbss = bfd_make_section_anyway (htab->elf.dynobj, ".sbss");
          if (htab->sbss == NULL
-             || ! bfd_set_section_flags (abfd, htab->sbss, flags))
+             || ! bfd_set_section_flags (htab->elf.dynobj, htab->sbss, flags))
            return FALSE;
        }
 
@@ -4053,7 +4056,8 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
        continue;
 
       if (s == htab->plt
-         || s == htab->got)
+         || s == htab->got
+         || s == htab->sbss)
        {
          /* Strip this section if we don't need it; see the
             comment below.  */
@@ -4099,6 +4103,9 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
          continue;
        }
 
+      if (s == htab->sbss)
+       continue;
+
       /* Allocate memory for the section contents.  */
       s->contents = bfd_zalloc (htab->elf.dynobj, s->size);
       if (s->contents == NULL)
index b704d6644efe249e2587f3edb9e806f1e735e7e2..0c8c209b5804a0d9e2b194561e4b2d3b70c59772 100644 (file)
@@ -1,3 +1,7 @@
+2005-03-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
+
 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
 
        * emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New
index 96b7829d28f48926b1ed397c075bbb4dbbdf1e00..4ff6467a0bbe2856d050d835fa03c0483c2837f4 100644 (file)
@@ -118,14 +118,10 @@ STACKNOTE="/DISCARD/ : { *(.note.GNU-stack) }"
 if test -z "${NO_SMALL_DATA}"; then
   SBSS=".sbss         ${RELOCATING-0} :
   {
-    ${RELOCATING+PROVIDE (__sbss_start = .);}
-    ${RELOCATING+PROVIDE (___sbss_start = .);}
     ${CREATE_SHLIB+*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)}
     *(.dynsbss)
     *(.sbss${RELOCATING+ .sbss.* .gnu.linkonce.sb.*})
     *(.scommon)
-    ${RELOCATING+PROVIDE (__sbss_end = .);}
-    ${RELOCATING+PROVIDE (___sbss_end = .);}
   }"
   SBSS2=".sbss2        ${RELOCATING-0} : { *(.sbss2${RELOCATING+ .sbss2.* .gnu.linkonce.sb2.*}) }"
   SDATA="/* We want the small data sections together, so single-instruction offsets
index 07d14a388d4a236468c609b670b92734570e06b6..8760d4907fedc43a5d52275b69fa0fc521d45dc8 100644 (file)
@@ -1,3 +1,10 @@
+2005-03-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * ld-powerpc/tlsexe32.r: Update.
+       * ld-powerpc/tlsso32.d: Update.
+       * ld-powerpc/tlsso32.g: Update.
+       * ld-powerpc/tlsso32.r: Update.
+
 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
 
        * ld-powerpc/tlsexe.r: Update.
index f5c280e2754055afc9b294dde39cadcf1fe078ee..08c636f7c9de1ac6084c0c0d09be80faa6d40348 100644 (file)
@@ -5,7 +5,7 @@
 #readelf: -WSsrl
 #target: powerpc*-*-*
 
-There are 18 section headers.*
+There are 16 section headers.*
 
 Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -17,16 +17,14 @@ Section Headers:
  +\[ 5\] \.rela\.dyn +.*
  +\[ 6\] \.rela\.plt +.*
  +\[ 7\] \.text +PROGBITS +01800244 000244 000070 00 +AX +0 +0 +1
- +\[ 8\] \.sdata2 +PROGBITS +.*
- +\[ 9\] \.tdata +PROGBITS +018102b4 0002b4 00001c 00 WAT +0 +0 +4
- +\[10\] \.tbss +NOBITS +018102d0 0002d0 00001c 00 WAT +0 +0 +4
- +\[11\] \.dynamic +DYNAMIC +018102d0 0002d0 0000a0 08 +WA +4 +0 +4
- +\[12\] \.got +PROGBITS +01810370 000370 00001c 04 WAX +0 +0 +4
- +\[13\] \.sdata +PROGBITS +0181038c 00038c 000000 00 +WA +0 +0 +4
- +\[14\] \.plt +NOBITS +.*
- +\[15\] \.shstrtab +STRTAB +.*
- +\[16\] \.symtab +SYMTAB +.*
- +\[17\] \.strtab +STRTAB +.*
+ +\[ 8\] \.tdata +PROGBITS +018102b4 0002b4 00001c 00 WAT +0 +0 +4
+ +\[ 9\] \.tbss +NOBITS +018102d0 0002d0 00001c 00 WAT +0 +0 +4
+ +\[10\] \.dynamic +DYNAMIC +018102d0 0002d0 0000a0 08 +WA +4 +0 +4
+ +\[11\] \.got +PROGBITS +01810370 000370 00001c 04 WAX +0 +0 +4
+ +\[12\] \.plt +NOBITS +.*
+ +\[13\] \.shstrtab +STRTAB +.*
+ +\[14\] \.symtab +SYMTAB +.*
+ +\[15\] \.strtab +STRTAB +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
@@ -63,59 +61,55 @@ Relocation section '\.rela\.plt' at offset 0x238 contains 1 entries:
 
 Symbol table '\.dynsym' contains 9 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 00000000 +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 018102d0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +2: 00000000 +0 TLS +GLOBAL DEFAULT +UND gd
- +3: 018103d4 +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
- +4: 00000000 +0 TLS +GLOBAL DEFAULT +UND ld
- +5: 018103e0 +0 NOTYPE +GLOBAL DEFAULT +ABS __end
- +6: 0181038c +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +7: 0181038c +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +8: 018103e0 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+.*: 00000000 +0 NOTYPE +LOCAL +DEFAULT +UND 
+.*: 018102d0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+.*: 00000000 +0 TLS +GLOBAL DEFAULT +UND gd
+.*: 018103d4 +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+.*: 00000000 +0 TLS +GLOBAL DEFAULT +UND ld
+.*: 018103e0 +0 NOTYPE +GLOBAL DEFAULT +ABS __end
+.*: 0181038c +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+.*: 0181038c +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+.*: 018103e0 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
 
-Symbol table '\.symtab' contains 44 entries:
+Symbol table '\.symtab' contains 40 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +[0-9]+: 00000000 +0 NOTYPE +LOCAL +DEFAULT +UND 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 
- +[0-9]+: 01800244 +0 SECTION LOCAL +DEFAULT +7 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 
- +[0-9]+: 018102b4 +0 SECTION LOCAL +DEFAULT +9 
- +[0-9]+: 018102d0 +0 SECTION LOCAL +DEFAULT +10 
- +[0-9]+: 018102d0 +0 SECTION LOCAL +DEFAULT +11 
- +[0-9]+: 01810370 +0 SECTION LOCAL +DEFAULT +12 
- +[0-9]+: 0181038c +0 SECTION LOCAL +DEFAULT +13 
- +[0-9]+: 0181038c +0 SECTION LOCAL +DEFAULT +14 
- +[0-9]+: 00000000 +0 SECTION LOCAL +DEFAULT +15 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 
- +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 
- +[0-9]+: 00000000 +0 TLS +LOCAL +DEFAULT +9 gd4
- +[0-9]+: 00000004 +0 TLS +LOCAL +DEFAULT +9 ld4
- +[0-9]+: 00000008 +0 TLS +LOCAL +DEFAULT +9 ld5
- +[0-9]+: 0000000c +0 TLS +LOCAL +DEFAULT +9 ld6
- +[0-9]+: 00000010 +0 TLS +LOCAL +DEFAULT +9 ie4
- +[0-9]+: 00000014 +0 TLS +LOCAL +DEFAULT +9 le4
- +[0-9]+: 00000018 +0 TLS +LOCAL +DEFAULT +9 le5
- +[0-9]+: 018102d0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +[0-9]+: 00000000 +0 TLS +GLOBAL DEFAULT +UND gd
- +[0-9]+: 00000030 +0 TLS +GLOBAL DEFAULT +10 le0
- +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
- +[0-9]+: 00000020 +0 TLS +GLOBAL DEFAULT +10 ld0
- +[0-9]+: 00000034 +0 TLS +GLOBAL DEFAULT +10 le1
- +[0-9]+: 00000000 +0 TLS +GLOBAL DEFAULT +UND ld
- +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +7 _start
- +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __end
- +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +13 _SDA_BASE_
- +[0-9]+: 00000028 +0 TLS +GLOBAL DEFAULT +10 ld2
- +[0-9]+: 00000024 +0 TLS +GLOBAL DEFAULT +10 ld1
- +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +[0-9]+: 01810374 +0 OBJECT +GLOBAL +HIDDEN +12 _GLOBAL_OFFSET_TABLE_
- +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +[0-9]+: 0000001c +0 TLS +GLOBAL DEFAULT +10 gd0
- +[0-9]+: 0000002c +0 TLS +GLOBAL DEFAULT +10 ie0
- +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +8 _SDA2_BASE_
+.*: 00000000 +0 NOTYPE +LOCAL +DEFAULT +UND 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 
+.*: 01800244 +0 SECTION LOCAL +DEFAULT +7 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 
+.*: 018102d0 +0 SECTION LOCAL +DEFAULT +9 
+.*: 018102d0 +0 SECTION LOCAL +DEFAULT +10 
+.*: 01810370 +0 SECTION LOCAL +DEFAULT +11 
+.*: 0181038c +0 SECTION LOCAL +DEFAULT +12 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 
+.*: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+.*: 00000000 +0 TLS +LOCAL +DEFAULT +8 gd4
+.*: 00000004 +0 TLS +LOCAL +DEFAULT +8 ld4
+.*: 00000008 +0 TLS +LOCAL +DEFAULT +8 ld5
+.*: 0000000c +0 TLS +LOCAL +DEFAULT +8 ld6
+.*: 00000010 +0 TLS +LOCAL +DEFAULT +8 ie4
+.*: 00000014 +0 TLS +LOCAL +DEFAULT +8 le4
+.*: 00000018 +0 TLS +LOCAL +DEFAULT +8 le5
+.*: 018102d0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+.*: 00000000 +0 TLS +GLOBAL DEFAULT +UND gd
+.*: 00000030 +0 TLS +GLOBAL DEFAULT +9 le0
+.*: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+.*: 00000020 +0 TLS +GLOBAL DEFAULT +9 ld0
+.*: 00000034 +0 TLS +GLOBAL DEFAULT +9 le1
+.*: 00000000 +0 TLS +GLOBAL DEFAULT +UND ld
+.*: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +7 _start
+.*: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __end
+.*: 00000028 +0 TLS +GLOBAL DEFAULT +9 ld2
+.*: 00000024 +0 TLS +GLOBAL DEFAULT +9 ld1
+.*: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+.*: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+.*: 01810374 +0 OBJECT +GLOBAL +HIDDEN +11 _GLOBAL_OFFSET_TABLE_
+.*: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+.*: 0000001c +0 TLS +GLOBAL DEFAULT +9 gd0
+.*: 0000002c +0 TLS +GLOBAL DEFAULT +9 ie0
index 797ece9d7fa0ba38958b4358dae39c6eb3b77937..65f47ccf86cd88d1191dd51971b54ee2b5acccfc 100644 (file)
@@ -41,5 +41,5 @@ Disassembly of section \.got:
 
 .* <\.got>:
 .*:    4e 80 00 21     blrl
-.*:    00 01 04 e4     .*
+.*:    00 01 04 90     .*
        \.\.\.
index b20c76e548a3ac6410a53e93007f55cce3302dcb..be18b324aeb5914707b0cab3d3aa2ca8acc6cad9 100644 (file)
@@ -7,7 +7,7 @@
 .*: +file format elf32-powerpc
 
 Contents of section \.got:
-.* 4e800021 000104e4 00000000 00000000  .*
+.* 4e800021 00010490 00000000 00000000  .*
 .* 00000000 00000000 00000000 00000000  .*
 .* 00000000 00000000 00000000 00000000  .*
 .* 00000000                             .*
index 90813fcbaba25c39f1de33d443b7cbecdf73d972..f50ba6cd228a1fcfd58cd37d255bd0d7ae7ed802 100644 (file)
@@ -4,7 +4,7 @@
 #readelf: -WSsrl
 #target: powerpc*-*-*
 
-There are 17 section headers.*
+There are 15 section headers.*
 
 Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -14,19 +14,15 @@ Section Headers:
  +\[ 3\] \.dynstr +.*
  +\[ 4\] \.rela\.dyn +.*
  +\[ 5\] \.rela\.plt +.*
- +\[ 6\] \.text +PROGBITS +0+458 0+458 0+70 0+ +AX +0 +0 +1
- +\[ 7\] \.tdata +PROGBITS +0+104c8 0+4c8 0+1c 0+ WAT +0 +0 +4
- +\[ 8\] \.tbss +NOBITS +0+104e4 0+4e4 0+1c 0+ WAT +0 +0 +4
- +\[ 9\] \.dynamic +DYNAMIC +0+104e4 0+4e4 0+a0 08 +WA +3 +0 +4
- +\[10\] \.data +PROGBITS +0+10584 0+584 0+ 0+ +WA +0 +0 +1
- +\[11\] \.got +PROGBITS +0+10584 0+584 0+34 04 WAX +0 +0 +4
- +\[12\] \.sdata +.*
- +\[13\] \.sbss +.*
- +\[14\] \.plt +.*
- +\[15\] \.bss +.*
- +\[16\] \.shstrtab +.*
- +\[17\] \.symtab +.*
- +\[18\] \.strtab +.*
+ +\[ 6\] \.text +PROGBITS +0+404 0+404 0+70 0+ +AX +0 +0 +1
+ +\[ 7\] \.tdata +PROGBITS +0+10474 0+474 0+1c 0+ WAT +0 +0 +4
+ +\[ 8\] \.tbss +NOBITS +0+10490 0+490 0+1c 0+ WAT +0 +0 +4
+ +\[ 9\] \.dynamic +DYNAMIC +0+10490 0+490 0+a0 08 +WA +3 +0 +4
+ +\[10\] \.got +PROGBITS +0+10530 0+530 0+34 04 WAX +0 +0 +4
+ +\[11\] \.plt +.*
+ +\[12\] \.shstrtab +.*
+ +\[13\] \.symtab +.*
+ +\[14\] \.strtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
@@ -35,10 +31,10 @@ There are 4 program headers.*
 
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
- +LOAD +0x0+ 0x0+ 0x0+ 0x0+4c8 0x0+4c8 R E 0x10000
- +LOAD +0x0+4c8 0x0+104c8 0x0+104c8 0x0+f0 0x0+144 RWE 0x10000
- +DYNAMIC +0x0+4e4 0x0+104e4 0x0+104e4 0x0+a0 0x0+a0 RW +0x4
- +TLS +0x0+4c8 0x0+104c8 0x0+104c8 0x0+1c 0x0+38 R +0x4
+ +LOAD +0x0+ 0x0+ 0x0+ 0x0+474 0x0+474 R E 0x10000
+ +LOAD +0x0+474 0x0+10474 0x0+10474 0x0+f0 0x0+144 RWE 0x10000
+ +DYNAMIC +0x0+490 0x0+10490 0x0+10490 0x0+a0 0x0+a0 RW +0x4
+ +TLS +0x0+474 0x0+10474 0x0+10474 0x0+1c 0x0+38 R +0x4
 
  Section to Segment mapping:
  +Segment Sections\.\.\.
@@ -49,40 +45,39 @@ Program Headers:
 
 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
-0+45c +0+b0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+464 +0+b0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+49c +0+b0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+4a4 +0+b0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+48e +0+a45 R_PPC_TPREL16 +0+30 +le0 \+ 0
-0+492 +0+d48 R_PPC_TPREL16_HA +0+34 +le1 \+ 0
-0+496 +0+d46 R_PPC_TPREL16_LO +0+34 +le1 \+ 0
-0+4be +0+245 R_PPC_TPREL16 +0+104c8 +\.tdata \+ 104dc
-0+4c2 +0+248 R_PPC_TPREL16_HA +0+104c8 +\.tdata \+ 104e0
-0+4c6 +0+246 R_PPC_TPREL16_LO +0+104c8 +\.tdata \+ 104e0
-0+10594 +0+44 R_PPC_DTPMOD32 +0+
-0+1059c +0+44 R_PPC_DTPMOD32 +0+
-0+105a0 +0+4e R_PPC_DTPREL32 +0+
-0+105a4 +0+944 R_PPC_DTPMOD32 +0+ +gd \+ 0
-0+105a8 +0+94e R_PPC_DTPREL32 +0+ +gd \+ 0
-0+105ac +0+1744 R_PPC_DTPMOD32 +0+1c +gd0 \+ 0
-0+105b0 +0+174e R_PPC_DTPREL32 +0+1c +gd0 \+ 0
-0+105b4 +0+1849 R_PPC_TPREL32 +0+2c +ie0 \+ 0
+0+408 +0+a0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+410 +0+a0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+448 +0+a0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+450 +0+a0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+43a +0+945 R_PPC_TPREL16 +0+30 +le0 \+ 0
+0+43e +0+c48 R_PPC_TPREL16_HA +0+34 +le1 \+ 0
+0+442 +0+c46 R_PPC_TPREL16_LO +0+34 +le1 \+ 0
+0+46a +0+245 R_PPC_TPREL16 +0+10474 +\.tdata \+ 10488
+0+46e +0+248 R_PPC_TPREL16_HA +0+10474 +\.tdata \+ 1048c
+0+472 +0+246 R_PPC_TPREL16_LO +0+10474 +\.tdata \+ 1048c
+0+10540 +0+44 R_PPC_DTPMOD32 +0+
+0+10548 +0+44 R_PPC_DTPMOD32 +0+
+0+1054c +0+4e R_PPC_DTPREL32 +0+
+0+10550 +0+844 R_PPC_DTPMOD32 +0+ +gd \+ 0
+0+10554 +0+84e R_PPC_DTPREL32 +0+ +gd \+ 0
+0+10558 +0+1544 R_PPC_DTPMOD32 +0+1c +gd0 \+ 0
+0+1055c +0+154e R_PPC_DTPREL32 +0+1c +gd0 \+ 0
+0+10560 +0+1649 R_PPC_TPREL32 +0+2c +ie0 \+ 0
 
 Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
-0+10600 +0+b15 R_PPC_JMP_SLOT +0+ +__tls_get_addr \+ 0
+0+105ac +0+a15 R_PPC_JMP_SLOT +0+ +__tls_get_addr \+ 0
 
-Symbol table '\.dynsym' contains 26 entries:
+Symbol table '\.dynsym' contains 23 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +[0-9]+: 0+458 +0 SECTION LOCAL +DEFAULT +6 
- +[0-9]+: 0+104c8 +0 SECTION LOCAL +DEFAULT +7 
- +[0-9]+: 0+104e4 +0 SECTION LOCAL +DEFAULT +8 
- +[0-9]+: 0+10584 +0 SECTION LOCAL +DEFAULT +10 
- +[0-9]+: 0+105b8 +0 SECTION LOCAL +DEFAULT +12 
- +[0-9]+: 0+105b8 +0 SECTION LOCAL +DEFAULT +13 
- +[0-9]+: 0+1060c +0 SECTION LOCAL +DEFAULT +15 
- +[0-9]+: 0+104e4 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+404 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+10474 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10490 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+10490 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
  +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
  +[0-9]+: 0+30 +0 TLS +GLOBAL DEFAULT +8 le0
  +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
@@ -91,7 +86,6 @@ Symbol table '\.dynsym' contains 26 entries:
  +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __end
- +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +12 _SDA_BASE_
  +[0-9]+: 0+28 +0 TLS +GLOBAL DEFAULT +8 ld2
  +[0-9]+: 0+24 +0 TLS +GLOBAL DEFAULT +8 ld1
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
@@ -99,9 +93,8 @@ Symbol table '\.dynsym' contains 26 entries:
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
  +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 gd0
  +[0-9]+: 0+2c +0 TLS +GLOBAL DEFAULT +8 ie0
- +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +12 _SDA2_BASE_
 
-Symbol table '\.symtab' contains 45 entries:
+Symbol table '\.symtab' contains 39 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
  +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
@@ -109,19 +102,15 @@ Symbol table '\.symtab' contains 45 entries:
  +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
  +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
  +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
- +[0-9]+: 0+458 +0 SECTION LOCAL +DEFAULT +6 
- +[0-9]+: 0+104c8 +0 SECTION LOCAL +DEFAULT +7 
- +[0-9]+: 0+104e4 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: 0+404 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+10474 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10490 +0 SECTION LOCAL +DEFAULT +8 
  +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 
- +[0-9]+: 0+10584 +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: 0+10530 +0 SECTION LOCAL +DEFAULT +10 
  +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 
- +[0-9]+: 0+105b8 +0 SECTION LOCAL +DEFAULT +12 
- +[0-9]+: 0+105b8 +0 SECTION LOCAL +DEFAULT +13 
- +[0-9]+: 0+105b8 +0 SECTION LOCAL +DEFAULT +14 
- +[0-9]+: 0+1060c +0 SECTION LOCAL +DEFAULT +15 
- +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +16 
- +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +17 
- +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +18 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +12 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +13 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +14 
  +[0-9]+: 0+ +0 TLS +LOCAL +DEFAULT +7 gd4
  +[0-9]+: 0+4 +0 TLS +LOCAL +DEFAULT +7 ld4
  +[0-9]+: 0+8 +0 TLS +LOCAL +DEFAULT +7 ld5
@@ -129,8 +118,8 @@ Symbol table '\.symtab' contains 45 entries:
  +[0-9]+: 0+10 +0 TLS +LOCAL +DEFAULT +7 ie4
  +[0-9]+: 0+14 +0 TLS +LOCAL +DEFAULT +7 le4
  +[0-9]+: 0+18 +0 TLS +LOCAL +DEFAULT +7 le5
- +[0-9]+: 0+10588 +0 OBJECT +LOCAL +HIDDEN +ABS _GLOBAL_OFFSET_TABLE_
- +[0-9]+: 0+104e4 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+10534 +0 OBJECT +LOCAL +HIDDEN +ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: 0+10490 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
  +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
  +[0-9]+: 0+30 +0 TLS +GLOBAL DEFAULT +8 le0
  +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
@@ -139,7 +128,6 @@ Symbol table '\.symtab' contains 45 entries:
  +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __end
- +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +12 _SDA_BASE_
  +[0-9]+: 0+28 +0 TLS +GLOBAL DEFAULT +8 ld2
  +[0-9]+: 0+24 +0 TLS +GLOBAL DEFAULT +8 ld1
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
@@ -147,4 +135,3 @@ Symbol table '\.symtab' contains 45 entries:
  +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
  +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 gd0
  +[0-9]+: 0+2c +0 TLS +GLOBAL DEFAULT +8 ie0
- +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +11 _SDA2_BASE_