From: Alan Modra Date: Tue, 18 Feb 2003 12:54:56 +0000 (+0000) Subject: * ld-powerpc/tlsexe.d: Update for changed handling of invalid LD X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=89b16ee576a14ca27f0c926f49709653b8ee1882;p=binutils-gdb.git * ld-powerpc/tlsexe.d: Update for changed handling of invalid LD relocs. * ld-powerpc/tlsexe.g: Likewise. * ld-powerpc/tlsexe.r: Likewise. * ld-powerpc/tlsexe.t: Likewise. --- diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index b5117c765d6..af7a1e63f75 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2003-02-18 Alan Modra + * ld-powerpc/tlsexe.d: Update for changed handling of invalid LD + relocs. + * ld-powerpc/tlsexe.g: Likewise. + * ld-powerpc/tlsexe.r: Likewise. + * ld-powerpc/tlsexe.t: Likewise. + * ld-powerpc/tls32.s: New file. * ld-powerpc/tlslib32.s: New file. * ld-powerpc/tls32.d: New file. diff --git a/ld/testsuite/ld-powerpc/tlsexe.d b/ld/testsuite/ld-powerpc/tlsexe.d index d279e99c466..bd4819c3e1a 100644 --- a/ld/testsuite/ld-powerpc/tlsexe.d +++ b/ld/testsuite/ld-powerpc/tlsexe.d @@ -8,61 +8,61 @@ Disassembly of section \.text: -0+10000390 <_start-0x1c>: - 10000390: 3d 82 00 00 addis r12,r2,0 - 10000394: f8 41 00 28 std r2,40\(r1\) - 10000398: e9 6c 80 48 ld r11,-32696\(r12\) - 1000039c: e8 4c 80 50 ld r2,-32688\(r12\) - 100003a0: 7d 69 03 a6 mtctr r11 - 100003a4: e9 6c 80 58 ld r11,-32680\(r12\) - 100003a8: 4e 80 04 20 bctr +.* <_start-0x1c>: +.* 3d 82 00 00 addis r12,r2,0 +.* f8 41 00 28 std r2,40\(r1\) +.* e9 6c 80 48 ld r11,-32696\(r12\) +.* e8 4c 80 50 ld r2,-32688\(r12\) +.* 7d 69 03 a6 mtctr r11 +.* e9 6c 80 58 ld r11,-32680\(r12\) +.* 4e 80 04 20 bctr -0+100003ac <_start>: - 100003ac: e8 62 80 20 ld r3,-32736\(r2\) - 100003b0: 60 00 00 00 nop - 100003b4: 7c 63 6a 14 add r3,r3,r13 - 100003b8: 38 62 80 08 addi r3,r2,-32760 - 100003bc: 4b ff ff d5 bl 10000390 - 100003c0: e8 41 00 28 ld r2,40\(r1\) - 100003c4: 3c 6d 00 00 addis r3,r13,0 - 100003c8: 60 00 00 00 nop - 100003cc: 38 63 90 38 addi r3,r3,-28616 - 100003d0: 3c 6d 00 00 addis r3,r13,0 - 100003d4: 60 00 00 00 nop - 100003d8: 38 63 10 00 addi r3,r3,4096 - 100003dc: 39 23 80 40 addi r9,r3,-32704 - 100003e0: 3d 23 00 00 addis r9,r3,0 - 100003e4: 81 49 80 48 lwz r10,-32696\(r9\) - 100003e8: e9 22 80 28 ld r9,-32728\(r2\) - 100003ec: 7d 49 18 2a ldx r10,r9,r3 - 100003f0: 3d 2d 00 00 addis r9,r13,0 - 100003f4: a1 49 90 58 lhz r10,-28584\(r9\) - 100003f8: 89 4d 90 60 lbz r10,-28576\(r13\) - 100003fc: 3d 2d 00 00 addis r9,r13,0 - 10000400: 99 49 90 68 stb r10,-28568\(r9\) - 10000404: 3c 6d 00 00 addis r3,r13,0 - 10000408: 60 00 00 00 nop - 1000040c: 38 63 90 00 addi r3,r3,-28672 - 10000410: 3c 6d 00 00 addis r3,r13,0 - 10000414: 60 00 00 00 nop - 10000418: 38 63 10 00 addi r3,r3,4096 - 1000041c: f9 43 80 08 std r10,-32760\(r3\) - 10000420: 3d 23 00 00 addis r9,r3,0 - 10000424: 91 49 80 10 stw r10,-32752\(r9\) - 10000428: e9 22 80 18 ld r9,-32744\(r2\) - 1000042c: 7d 49 19 2a stdx r10,r9,r3 - 10000430: 3d 2d 00 00 addis r9,r13,0 - 10000434: b1 49 90 58 sth r10,-28584\(r9\) - 10000438: e9 4d 90 2a lwa r10,-28632\(r13\) - 1000043c: 3d 2d 00 00 addis r9,r13,0 - 10000440: a9 49 90 30 lha r10,-28624\(r9\) - 10000444: e8 41 00 28 ld r2,40\(r1\) - 10000448: 3d 82 00 00 addis r12,r2,0 - 1000044c: e9 6c 80 30 ld r11,-32720\(r12\) - 10000450: e8 4c 80 38 ld r2,-32712\(r12\) - 10000454: 7d 69 03 a6 mtctr r11 - 10000458: e9 6c 80 40 ld r11,-32704\(r12\) - 1000045c: 4e 80 04 20 bctr - 10000460: 60 00 00 00 nop - 10000464: 38 00 00 00 li r0,0 - 10000468: 4b ff ff dc b 10000444 <_start\+0x98> +.* <_start>: +.* e8 62 80 10 ld r3,-32752\(r2\) +.* 60 00 00 00 nop +.* 7c 63 6a 14 add r3,r3,r13 +.* 38 62 80 18 addi r3,r2,-32744 +.* 4b ff ff d5 bl .* +.* e8 41 00 28 ld r2,40\(r1\) +.* 3c 6d 00 00 addis r3,r13,0 +.* 60 00 00 00 nop +.* 38 63 90 38 addi r3,r3,-28616 +.* 3c 6d 00 00 addis r3,r13,0 +.* 60 00 00 00 nop +.* 38 63 10 00 addi r3,r3,4096 +.* 39 23 80 40 addi r9,r3,-32704 +.* 3d 23 00 00 addis r9,r3,0 +.* 81 49 80 48 lwz r10,-32696\(r9\) +.* e9 22 80 28 ld r9,-32728\(r2\) +.* 7d 49 18 2a ldx r10,r9,r3 +.* 3d 2d 00 00 addis r9,r13,0 +.* a1 49 90 58 lhz r10,-28584\(r9\) +.* 89 4d 90 60 lbz r10,-28576\(r13\) +.* 3d 2d 00 00 addis r9,r13,0 +.* 99 49 90 68 stb r10,-28568\(r9\) +.* 3c 6d 00 00 addis r3,r13,0 +.* 60 00 00 00 nop +.* 38 63 90 00 addi r3,r3,-28672 +.* 3c 6d 00 00 addis r3,r13,0 +.* 60 00 00 00 nop +.* 38 63 10 00 addi r3,r3,4096 +.* f9 43 80 08 std r10,-32760\(r3\) +.* 3d 23 00 00 addis r9,r3,0 +.* 91 49 80 10 stw r10,-32752\(r9\) +.* e9 22 80 08 ld r9,-32760\(r2\) +.* 7d 49 19 2a stdx r10,r9,r3 +.* 3d 2d 00 00 addis r9,r13,0 +.* b1 49 90 58 sth r10,-28584\(r9\) +.* e9 4d 90 2a lwa r10,-28632\(r13\) +.* 3d 2d 00 00 addis r9,r13,0 +.* a9 49 90 30 lha r10,-28624\(r9\) +.* e8 41 00 28 ld r2,40\(r1\) +.* 3d 82 00 00 addis r12,r2,0 +.* e9 6c 80 30 ld r11,-32720\(r12\) +.* e8 4c 80 38 ld r2,-32712\(r12\) +.* 7d 69 03 a6 mtctr r11 +.* e9 6c 80 40 ld r11,-32704\(r12\) +.* 4e 80 04 20 bctr +.* 60 00 00 00 nop +.* 38 00 00 00 li r0,0 +.* 4b ff ff dc b .* diff --git a/ld/testsuite/ld-powerpc/tlsexe.g b/ld/testsuite/ld-powerpc/tlsexe.g index fa36d84c742..17825218065 100644 --- a/ld/testsuite/ld-powerpc/tlsexe.g +++ b/ld/testsuite/ld-powerpc/tlsexe.g @@ -7,6 +7,6 @@ .*: +file format elf64-powerpc Contents of section \.got: - 100105f8 00000000 100185f8 00000000 00000001 .* - 10010608 00000000 00000000 ffffffff ffff8018 .* - 10010618 00000000 00000000 00000000 00000000 .* + 10010610 00000000 10018610 ffffffff ffff8018 .* + 10010620 00000000 00000000 00000000 00000000 .* + 10010630 00000000 00000000 00000000 00000000 .* diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r index 49d22db2d92..713e8f31dc5 100644 --- a/ld/testsuite/ld-powerpc/tlsexe.r +++ b/ld/testsuite/ld-powerpc/tlsexe.r @@ -14,27 +14,27 @@ Section Headers: +\[ 2\] \.hash +HASH +0+100001a8 0+1a8 0+40 04 +A +3 +0 +8 +\[ 3\] \.dynsym +DYNSYM +0+100001e8 0+1e8 0+108 18 +A +4 +1 +8 +\[ 4\] \.dynstr +STRTAB +0+100002f0 0+2f0 0+51 0+ +A +0 +0 +1 - +\[ 5\] \.rela\.dyn +RELA +0+10000348 0+348 0+30 18 +A +3 +0 +8 - +\[ 6\] \.rela\.plt +RELA +0+10000378 0+378 0+18 18 +A +3 +11 +8 - +\[ 7\] \.text +PROGBITS +0+10000390 0+390 0+dc 0+ +AX +0 +0 +4 - +\[ 8\] \.data +PROGBITS +0+10010470 0+470 0+ 0+ +WA +0 +0 +1 - +\[ 9\] \.branch_lt +PROGBITS +0+10010470 0+470 0+ 0+ +WA +0 +0 +8 - +\[10\] \.tdata +PROGBITS +0+10010470 0+470 0+38 0+ WAT +0 +0 +8 - +\[11\] \.tbss +NOBITS +0+100104a8 0+4a8 0+38 0+ WAT +0 +0 +8 - +\[12\] \.dynamic +DYNAMIC +0+100104a8 0+4a8 0+150 10 +WA +4 +0 +8 - +\[13\] \.ctors +PROGBITS +0+100105f8 0+628 0+ 0+ +W +0 +0 +1 - +\[14\] \.dtors +PROGBITS +0+100105f8 0+628 0+ 0+ +W +0 +0 +1 - +\[15\] \.got +PROGBITS +0+100105f8 0+5f8 0+30 08 +WA +0 +0 +8 - +\[16\] \.sbss +PROGBITS +0+10010628 0+628 0+ 0+ +W +0 +0 +1 - +\[17\] \.plt +NOBITS +0+10010628 0+628 0+30 18 +WA +0 +0 +8 - +\[18\] \.bss +NOBITS +0+10010658 0+628 0+ 0+ +WA +0 +0 +1 - +\[19\] \.shstrtab +STRTAB +0+ 0+628 0+98 0+ +0 +0 +1 - +\[20\] \.symtab +SYMTAB +0+ 0+c40 0+450 18 +21 +1d +8 - +\[21\] \.strtab +STRTAB +0+ 0+1090 0+8c 0+ +0 +0 +1 + +\[ 5\] \.rela\.dyn +RELA +0+10000348 0+348 0+48 18 +A +3 +0 +8 + +\[ 6\] \.rela\.plt +RELA +0+10000390 0+390 0+18 18 +A +3 +11 +8 + +\[ 7\] \.text +PROGBITS +0+100003a8 0+3a8 0+dc 0+ +AX +0 +0 +4 + +\[ 8\] \.data +PROGBITS +0+10010488 0+488 0+ 0+ +WA +0 +0 +1 + +\[ 9\] \.branch_lt +PROGBITS +0+10010488 0+488 0+ 0+ +WA +0 +0 +8 + +\[10\] \.tdata +PROGBITS +0+10010488 0+488 0+38 0+ WAT +0 +0 +8 + +\[11\] \.tbss +NOBITS +0+100104c0 0+4c0 0+38 0+ WAT +0 +0 +8 + +\[12\] \.dynamic +DYNAMIC +0+100104c0 0+4c0 0+150 10 +WA +4 +0 +8 + +\[13\] \.ctors +PROGBITS +0+10010610 0+640 0+ 0+ +W +0 +0 +1 + +\[14\] \.dtors +PROGBITS +0+10010610 0+640 0+ 0+ +W +0 +0 +1 + +\[15\] \.got +PROGBITS +0+10010610 0+610 0+30 08 +WA +0 +0 +8 + +\[16\] \.sbss +PROGBITS +0+10010640 0+640 0+ 0+ +W +0 +0 +1 + +\[17\] \.plt +NOBITS +0+10010640 0+640 0+30 18 +WA +0 +0 +8 + +\[18\] \.bss +NOBITS +0+10010670 0+640 0+ 0+ +WA +0 +0 +1 + +\[19\] \.shstrtab +STRTAB +0+ 0+640 0+98 0+ +0 +0 +1 + +\[20\] \.symtab +SYMTAB +0+ 0+c58 0+450 18 +21 +1d +8 + +\[21\] \.strtab +STRTAB +0+ 0+10a8 0+8c 0+ +0 +0 +1 #... Elf file type is EXEC \(Executable file\) -Entry point 0x100003ac +Entry point 0x100003c4 There are 6 program headers.* Program Headers: @@ -42,10 +42,10 @@ Program Headers: +PHDR +0x0+40 0x0+10000040 0x0+10000040 0x0+150 0x0+150 R E 0x8 +INTERP +0x0+190 0x0+10000190 0x0+10000190 0x0+11 0x0+11 R +0x1 +\[Requesting program interpreter: .*\] - +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+46c 0x0+46c R E 0x10000 - +LOAD +0x0+470 0x0+10010470 0x0+10010470 0x0+1b8 0x0+1e8 RW +0x10000 - +DYNAMIC +0x0+4a8 0x0+100104a8 0x0+100104a8 0x0+150 0x0+150 RW +0x8 - +TLS +0x0+470 0x0+10010470 0x0+10010470 0x0+38 0x0+70 R +0x8 + +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+484 0x0+484 R E 0x10000 + +LOAD +0x0+488 0x0+10010488 0x0+10010488 0x0+1b8 0x0+1e8 RW +0x10000 + +DYNAMIC +0x0+4c0 0x0+100104c0 0x0+100104c0 0x0+150 0x0+150 RW +0x8 + +TLS +0x0+488 0x0+10010488 0x0+10010488 0x0+38 0x0+70 R +0x8 Section to Segment mapping: +Segment Sections\.\.\. @@ -56,28 +56,29 @@ Program Headers: +04 +\.tbss \.dynamic +05 +\.tdata \.tbss -Relocation section '\.rela\.dyn' at offset .* contains 2 entries: +Relocation section '\.rela\.dyn' at offset .* contains 3 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+10010618 +0+200000049 R_PPC64_TPREL64 +0+ gd \+ 0 -0+10010620 +0+70000004e R_PPC64_DTPREL64 +0+50 ld2 \+ 0 +0+10010620 +0+200000049 R_PPC64_TPREL64 +0+ gd \+ 0 +0+10010628 +0+500000044 R_PPC64_DTPMOD64 +0+ ld \+ 0 +0+10010638 +0+70000004e R_PPC64_DTPREL64 +0+50 ld2 \+ 0 Relocation section '\.rela\.plt' at offset .* contains 1 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+10010640 +0+300000015 R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0 +0+10010658 +0+300000015 R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0 Symbol table '\.dynsym' contains 11 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND - +1: 0+100104a8 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC + +1: 0+100104c0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC +2: 0+ +0 TLS +GLOBAL DEFAULT +UND gd +3: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr +4: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr +5: 0+ +0 TLS +GLOBAL DEFAULT +UND ld - +6: 0+10010658 +0 NOTYPE +GLOBAL DEFAULT +ABS __end + +6: 0+10010670 +0 NOTYPE +GLOBAL DEFAULT +ABS __end +7: 0+50 +0 TLS +GLOBAL DEFAULT +11 ld2 - +8: 0+10010628 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start - +9: 0+10010628 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata - +10: 0+10010658 +0 NOTYPE +GLOBAL DEFAULT +ABS _end + +8: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start + +9: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata + +10: 0+10010670 +0 NOTYPE +GLOBAL DEFAULT +ABS _end Symbol table '\.symtab' contains 46 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name @@ -87,19 +88,19 @@ Symbol table '\.symtab' contains 46 entries: +3: 0+100001e8 +0 SECTION LOCAL +DEFAULT +3 +4: 0+100002f0 +0 SECTION LOCAL +DEFAULT +4 +5: 0+10000348 +0 SECTION LOCAL +DEFAULT +5 - +6: 0+10000378 +0 SECTION LOCAL +DEFAULT +6 - +7: 0+10000390 +0 SECTION LOCAL +DEFAULT +7 - +8: 0+10010470 +0 SECTION LOCAL +DEFAULT +8 - +9: 0+10010470 +0 SECTION LOCAL +DEFAULT +9 - +10: 0+10010470 +0 SECTION LOCAL +DEFAULT +10 - +11: 0+100104a8 +0 SECTION LOCAL +DEFAULT +11 - +12: 0+100104a8 +0 SECTION LOCAL +DEFAULT +12 - +13: 0+100105f8 +0 SECTION LOCAL +DEFAULT +13 - +14: 0+100105f8 +0 SECTION LOCAL +DEFAULT +14 - +15: 0+100105f8 +0 SECTION LOCAL +DEFAULT +15 - +16: 0+10010628 +0 SECTION LOCAL +DEFAULT +16 - +17: 0+10010628 +0 SECTION LOCAL +DEFAULT +17 - +18: 0+10010658 +0 SECTION LOCAL +DEFAULT +18 + +6: 0+10000390 +0 SECTION LOCAL +DEFAULT +6 + +7: 0+100003a8 +0 SECTION LOCAL +DEFAULT +7 + +8: 0+10010488 +0 SECTION LOCAL +DEFAULT +8 + +9: 0+10010488 +0 SECTION LOCAL +DEFAULT +9 + +10: 0+10010488 +0 SECTION LOCAL +DEFAULT +10 + +11: 0+100104c0 +0 SECTION LOCAL +DEFAULT +11 + +12: 0+100104c0 +0 SECTION LOCAL +DEFAULT +12 + +13: 0+10010610 +0 SECTION LOCAL +DEFAULT +13 + +14: 0+10010610 +0 SECTION LOCAL +DEFAULT +14 + +15: 0+10010610 +0 SECTION LOCAL +DEFAULT +15 + +16: 0+10010640 +0 SECTION LOCAL +DEFAULT +16 + +17: 0+10010640 +0 SECTION LOCAL +DEFAULT +17 + +18: 0+10010670 +0 SECTION LOCAL +DEFAULT +18 +19: 0+ +0 SECTION LOCAL +DEFAULT +19 +20: 0+ +0 SECTION LOCAL +DEFAULT +20 +21: 0+ +0 SECTION LOCAL +DEFAULT +21 @@ -110,7 +111,7 @@ Symbol table '\.symtab' contains 46 entries: +26: 0+20 +0 TLS +LOCAL +DEFAULT +10 ie4 +27: 0+28 +0 TLS +LOCAL +DEFAULT +10 le4 +28: 0+30 +0 TLS +LOCAL +DEFAULT +10 le5 - +29: 0+100104a8 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC + +29: 0+100104c0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC +30: 0+ +0 TLS +GLOBAL DEFAULT +UND gd +31: 0+60 +0 TLS +GLOBAL DEFAULT +11 le0 +32: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr @@ -118,12 +119,12 @@ Symbol table '\.symtab' contains 46 entries: +34: 0+40 +0 TLS +GLOBAL DEFAULT +11 ld0 +35: 0+68 +0 TLS +GLOBAL DEFAULT +11 le1 +36: 0+ +0 TLS +GLOBAL DEFAULT +UND ld - +37: 0+100003ac +0 NOTYPE +GLOBAL DEFAULT +7 _start - +38: 0+10010658 +0 NOTYPE +GLOBAL DEFAULT +ABS __end + +37: 0+100003c4 +0 NOTYPE +GLOBAL DEFAULT +7 _start + +38: 0+10010670 +0 NOTYPE +GLOBAL DEFAULT +ABS __end +39: 0+50 +0 TLS +GLOBAL DEFAULT +11 ld2 +40: 0+48 +0 TLS +GLOBAL DEFAULT +11 ld1 - +41: 0+10010628 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start - +42: 0+10010628 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata - +43: 0+10010658 +0 NOTYPE +GLOBAL DEFAULT +ABS _end + +41: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start + +42: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata + +43: 0+10010670 +0 NOTYPE +GLOBAL DEFAULT +ABS _end +44: 0+38 +0 TLS +GLOBAL DEFAULT +11 gd0 +45: 0+58 +0 TLS +GLOBAL DEFAULT +11 ie0 diff --git a/ld/testsuite/ld-powerpc/tlsexe.t b/ld/testsuite/ld-powerpc/tlsexe.t index 8f6fbaf8241..bb512fda554 100644 --- a/ld/testsuite/ld-powerpc/tlsexe.t +++ b/ld/testsuite/ld-powerpc/tlsexe.t @@ -7,7 +7,7 @@ .*: +file format elf64-powerpc Contents of section \.tdata: - 10010470 12345678 9abcdef0 23456789 abcdef01 .* - 10010480 3456789a bcdef012 456789ab cdef0123 .* - 10010490 56789abc def01234 6789abcd ef012345 .* - 100104a0 789abcde f0123456 .* + .* 12345678 9abcdef0 23456789 abcdef01 .* + .* 3456789a bcdef012 456789ab cdef0123 .* + .* 56789abc def01234 6789abcd ef012345 .* + .* 789abcde f0123456 .*