From 644285efefa72ddbfe22ba868d7b11a302ad8f42 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 21 Mar 2005 13:56:57 +0000 Subject: [PATCH] bfd/ * 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 | 6 ++ bfd/elf32-ppc.c | 15 +++-- ld/ChangeLog | 4 ++ ld/scripttempl/elf.sc | 4 -- ld/testsuite/ChangeLog | 7 +++ ld/testsuite/ld-powerpc/tlsexe32.r | 124 ++++++++++++++++++------------------- ld/testsuite/ld-powerpc/tlsso32.d | 2 +- ld/testsuite/ld-powerpc/tlsso32.g | 2 +- ld/testsuite/ld-powerpc/tlsso32.r | 115 +++++++++++++++------------------- 9 files changed, 140 insertions(+), 139 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 014759d..fd44c07 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2005-03-22 Alan Modra + + * 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 * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 2e9b549..a80cfa4 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -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) diff --git a/ld/ChangeLog b/ld/ChangeLog index b704d66..0c8c209 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2005-03-22 Alan Modra + + * scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms. + 2005-03-21 Alan Modra * emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index 96b7829..4ff6467 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -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 diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 07d14a3..8760d49 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2005-03-22 Alan Modra + + * 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 * ld-powerpc/tlsexe.r: Update. diff --git a/ld/testsuite/ld-powerpc/tlsexe32.r b/ld/testsuite/ld-powerpc/tlsexe32.r index f5c280e..08c636f 100644 --- a/ld/testsuite/ld-powerpc/tlsexe32.r +++ b/ld/testsuite/ld-powerpc/tlsexe32.r @@ -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 diff --git a/ld/testsuite/ld-powerpc/tlsso32.d b/ld/testsuite/ld-powerpc/tlsso32.d index 797ece9..65f47cc 100644 --- a/ld/testsuite/ld-powerpc/tlsso32.d +++ b/ld/testsuite/ld-powerpc/tlsso32.d @@ -41,5 +41,5 @@ Disassembly of section \.got: .* <\.got>: .*: 4e 80 00 21 blrl -.*: 00 01 04 e4 .* +.*: 00 01 04 90 .* \.\.\. diff --git a/ld/testsuite/ld-powerpc/tlsso32.g b/ld/testsuite/ld-powerpc/tlsso32.g index b20c76e..be18b32 100644 --- a/ld/testsuite/ld-powerpc/tlsso32.g +++ b/ld/testsuite/ld-powerpc/tlsso32.g @@ -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 .* diff --git a/ld/testsuite/ld-powerpc/tlsso32.r b/ld/testsuite/ld-powerpc/tlsso32.r index 90813fc..f50ba6c 100644 --- a/ld/testsuite/ld-powerpc/tlsso32.r +++ b/ld/testsuite/ld-powerpc/tlsso32.r @@ -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_ -- 2.7.4