URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-src/binutils-2.18.50/ld/testsuite/ld-powerpc
- from Rev 38 to Rev 156
- ↔ Reverse comparison
Rev 38 → Rev 156
/sdadyn.s
0,0 → 1,3
.globl _start |
_start: |
lwz 3,lib_var@sda21(0) |
/tlsexe.d
0,0 → 1,75
#source: tls.s |
#as: -a64 |
#ld: -melf64ppc tmpdir/libtlslib.so |
#objdump: -dr |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Disassembly of section \.text: |
|
.* <_start-0x18>: |
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 48 ld r11,-32696\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 58 ld r11,-32680\(r2\) |
.* e8 42 80 50 ld r2,-32688\(r2\) |
.* 4e 80 04 20 bctr |
|
.* <_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 d9 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\) |
.* 00 00 00 00 .* |
.* 00 01 01 f0 .* |
.* 7d 88 02 a6 mflr r12 |
.* 42 9f 00 05 bcl- 20,4\*cr7\+so,.* |
.* 7d 68 02 a6 mflr r11 |
.* e8 4b ff f0 ld r2,-16\(r11\) |
.* 7d 88 03 a6 mtlr r12 |
.* 7d 82 5a 14 add r12,r2,r11 |
.* e9 6c 00 00 ld r11,0\(r12\) |
.* e8 4c 00 08 ld r2,8\(r12\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 6c 00 10 ld r11,16\(r12\) |
.* 4e 80 04 20 bctr |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 38 00 00 00 li r0,0 |
.* 4b ff ff c4 b .* |
/tlsexe.g
0,0 → 1,12
#source: tls.s |
#as: -a64 |
#ld: -melf64ppc tmpdir/libtlslib.so |
#objdump: -sj.got |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
.* 00000000 100185c8 ffffffff ffff8018 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
/symtocbase.d
0,0 → 1,24
#source: symtocbase-1.s |
#source: symtocbase-2.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#objdump: -dj.data |
#target: powerpc64*-*-* |
|
.*: file format elf64-powerpc |
|
Disassembly of section \.data: |
|
.* <i>: |
\.\.\. |
.*: 00 02 80 00 \.long 0x28000 |
.*: 00 00 00 00 \.long 0x0 |
.*: 00 02 80 00 \.long 0x28000 |
.*: 00 00 00 00 \.long 0x0 |
.*: 00 03 80 00 \.long 0x38000 |
.*: 00 00 00 00 \.long 0x0 |
.*: 00 03 80 00 \.long 0x38000 |
.*: 00 00 00 00 \.long 0x0 |
.*: 00 02 80 00 \.long 0x28000 |
.*: 00 00 00 00 \.long 0x0 |
.*: 00 03 80 00 \.long 0x38000 |
/tlsexetoc.d
0,0 → 1,59
#source: tlstoc.s |
#as: -a64 |
#ld: -melf64ppc tmpdir/libtlslib.so |
#objdump: -dr |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Disassembly of section \.text: |
|
.* <_start-0x18>: |
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 70 ld r11,-32656\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 80 ld r11,-32640\(r2\) |
.* e8 42 80 78 ld r2,-32648\(r2\) |
.* 4e 80 04 20 bctr |
|
.* <_start>: |
.* 38 62 80 08 addi r3,r2,-32760 |
.* 4b ff ff e5 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 18 addi r3,r2,-32744 |
.* 4b ff ff d9 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 48 ld r9,-32696\(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\) |
.* 00 00 00 00 .* |
.* 00 01 02 18 .* |
.* 7d 88 02 a6 mflr r12 |
.* 42 9f 00 05 bcl- 20,4\*cr7\+so,.* |
.* 7d 68 02 a6 mflr r11 |
.* e8 4b ff f0 ld r2,-16\(r11\) |
.* 7d 88 03 a6 mtlr r12 |
.* 7d 82 5a 14 add r12,r2,r11 |
.* e9 6c 00 00 ld r11,0\(r12\) |
.* e8 4c 00 08 ld r2,8\(r12\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 6c 00 10 ld r11,16\(r12\) |
.* 4e 80 04 20 bctr |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 38 00 00 00 li r0,0 |
.* 4b ff ff c4 b .* |
/vxworks1-lib.dd
0,0 → 1,56
|
.*: file format .* |
|
Disassembly of section \.plt: |
|
00080800 <_PROCEDURE_LINKAGE_TABLE_>: |
80800: 81 9e 00 08 lwz r12,8\(r30\) |
80804: 7d 89 03 a6 mtctr r12 |
80808: 81 9e 00 04 lwz r12,4\(r30\) |
8080c: 4e 80 04 20 bctr |
80810: 60 00 00 00 nop |
80814: 60 00 00 00 nop |
80818: 60 00 00 00 nop |
8081c: 60 00 00 00 nop |
80820: 3d 9e 00 00 addis r12,r30,0 |
80824: 81 8c 00 0c lwz r12,12\(r12\) |
80828: 7d 89 03 a6 mtctr r12 |
8082c: 4e 80 04 20 bctr |
80830: 39 60 00 00 li r11,0 |
80834: 4b ff ff cc b 80800 <_PROCEDURE_LINKAGE_TABLE_> |
80838: 60 00 00 00 nop |
8083c: 60 00 00 00 nop |
80840: 3d 9e 00 00 addis r12,r30,0 |
80844: 81 8c 00 10 lwz r12,16\(r12\) |
80848: 7d 89 03 a6 mtctr r12 |
8084c: 4e 80 04 20 bctr |
80850: 39 60 00 01 li r11,1 |
80854: 4b ff ff ac b 80800 <_PROCEDURE_LINKAGE_TABLE_> |
80858: 60 00 00 00 nop |
8085c: 60 00 00 00 nop |
Disassembly of section \.text: |
|
00080c00 <foo>: |
80c00: 94 21 ff e8 stwu r1,-24\(r1\) |
80c04: 7c 08 02 a6 mflr r0 |
80c08: 90 01 00 1c stw r0,28\(r1\) |
80c0c: 3f c0 00 00 lis r30,0 |
80c10: 83 de 00 00 lwz r30,0\(r30\) |
80c14: 83 de 00 00 lwz r30,0\(r30\) |
80c18: 80 3e 00 14 lwz r1,20\(r30\) |
80c1c: 80 01 00 00 lwz r0,0\(r1\) |
80c20: 38 00 00 01 li r0,1 |
80c24: 90 01 00 00 stw r0,0\(r1\) |
80c28: 48 00 00 1d bl 80c44 <slocal> |
80c2c: 4b ff fc 15 bl 80840 <_PROCEDURE_LINKAGE_TABLE_\+0x40> |
80c30: 4b ff fb f1 bl 80820 <_PROCEDURE_LINKAGE_TABLE_\+0x20> |
80c34: 80 01 00 1c lwz r0,28\(r1\) |
80c38: 7c 08 03 a6 mtlr r0 |
80c3c: 38 21 00 18 addi r1,r1,24 |
80c40: 4e 80 00 20 blr |
|
00080c44 <slocal>: |
80c44: 4e 80 00 20 blr |
|
00080c48 <sglobal>: |
80c48: 4e 80 00 20 blr |
/tlsexetoc.g
0,0 → 1,15
#source: tlstoc.s |
#as: -a64 |
#ld: -melf64ppc tmpdir/libtlslib.so |
#objdump: -sj.got |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
.* 00000000 10018568 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000001 .* |
.* 00000000 00000000 00000000 00000001 .* |
.* 00000000 00000000 ffffffff ffff8050 .* |
.* 00000000 00000000 .* |
/attr-gnu-4-0.s
0,0 → 1,15
.gnu_attribute 4,0 |
/attr-gnu-4-10.d
0,0 → 1,10
#source: attr-gnu-4-1.s |
#source: attr-gnu-4-0.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_FP: Hard float |
/attr-gnu-4-2.s
0,0 → 1,10
.gnu_attribute 4,2 |
/plt1.d
0,0 → 1,20
#source: plt1.s |
#as: -a32 |
#objdump: -dr |
#target: powerpc*-*-* |
|
.*: file format elf32-powerpc |
|
Disassembly of section .text: |
|
0+ <_start>: |
0: 42 9f 00 05 bcl- 20,4\*cr7\+so,4 .* |
4: 7f c8 02 a6 mflr r30 |
8: 3f de 00 00 addis r30,r30,0 |
a: R_PPC_REL16_HA _GLOBAL_OFFSET_TABLE_\+0x6 |
c: 3b de 00 0a addi r30,r30,10 |
e: R_PPC_REL16_LO _GLOBAL_OFFSET_TABLE_\+0xa |
10: 48 00 00 01 bl 10 .* |
10: R_PPC_PLTREL24 _exit |
14: 48 00 00 00 b 14 .* |
14: R_PPC_REL24 _start |
/attr-gnu-4-12.d
0,0 → 1,6
#source: attr-gnu-4-1.s |
#source: attr-gnu-4-2.s |
#as: -a32 |
#ld: -r -melf32ppc |
#warning: Warning: .* uses hard float, .* uses soft float |
#target: powerpc*-*-* |
/tlsexe.r
0,0 → 1,113
#source: tls.s |
#source: tlslib.s |
#as: -a64 |
#ld: -melf64ppc |
#readelf: -WSsrl |
#target: powerpc64*-*-* |
|
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: |
|
Section Headers: |
+\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al |
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 |
+\[[ 0-9]+\] \.interp +.* |
+\[[ 0-9]+\] \.hash +.* |
+\[[ 0-9]+\] \.dynsym +.* |
+\[[ 0-9]+\] \.dynstr +.* |
+\[[ 0-9]+\] \.rela\.dyn +.* |
+\[[ 0-9]+\] \.rela\.plt +.* |
+\[[ 0-9]+\] \.text +PROGBITS .* 0+f8 0+ +AX +0 +0 +8 |
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+150 10 +WA +4 +0 +8 |
+\[[ 0-9]+\] \.branch_lt + PROGBITS .* 0+ 0+ +WA +0 +0 +8 |
+\[[ 0-9]+\] \.got +PROGBITS .* 0+30 08 +WA +0 +0 +8 |
+\[[ 0-9]+\] \.plt +.* |
+\[[ 0-9]+\] \.shstrtab +.* |
+\[[ 0-9]+\] \.symtab +.* |
+\[[ 0-9]+\] \.strtab +.* |
#... |
|
Elf file type is EXEC \(Executable file\) |
Entry point .* |
There are [0-9]+ program headers, starting at offset [0-9]+ |
|
Program Headers: |
+Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align |
+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 .* R E 0x10000 |
+LOAD .* RW +0x10000 |
+DYNAMIC .* RW +0x8 |
+TLS .* 0x0+38 0x0+70 R +0x8 |
|
Section to Segment mapping: |
+Segment Sections\.\.\. |
+0+ + |
+01 +\.interp |
+02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+03 +\.tdata \.dynamic \.got \.plt |
+04 +\.dynamic |
+05 +\.tdata \.tbss |
|
Relocation section '\.rela\.dyn' at offset .* contains 3 entries: |
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC64_TPREL64 +0+ gd \+ 0 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ ld \+ 0 |
[0-9a-f ]+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-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0 |
|
Symbol table '\.dynsym' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* TLS +GLOBAL DEFAULT +UND gd |
.* FUNC +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +UND ld |
.* TLS +GLOBAL DEFAULT +9 ld2 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
|
Symbol table '\.symtab' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* 0+ +0 NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +1 |
.* SECTION LOCAL +DEFAULT +2 |
.* SECTION LOCAL +DEFAULT +3 |
.* SECTION LOCAL +DEFAULT +4 |
.* SECTION LOCAL +DEFAULT +5 |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* SECTION LOCAL +DEFAULT +8 |
.* SECTION LOCAL +DEFAULT +9 |
.* SECTION LOCAL +DEFAULT +10 |
.* SECTION LOCAL +DEFAULT +11 |
.* SECTION LOCAL +DEFAULT +12 |
.* SECTION LOCAL +DEFAULT +13 |
.* TLS +LOCAL +DEFAULT +8 gd4 |
.* TLS +LOCAL +DEFAULT +8 ld4 |
.* TLS +LOCAL +DEFAULT +8 ld5 |
.* TLS +LOCAL +DEFAULT +8 ld6 |
.* TLS +LOCAL +DEFAULT +8 ie4 |
.* TLS +LOCAL +DEFAULT +8 le4 |
.* TLS +LOCAL +DEFAULT +8 le5 |
.* OBJECT +LOCAL +HIDDEN +10 _DYNAMIC |
.* FUNC +LOCAL +DEFAULT +UND \.__tls_get_addr |
.* GLOBAL DEFAULT +UND gd |
.* GLOBAL DEFAULT +9 le0 |
.* GLOBAL DEFAULT +UND __tls_get_addr |
.* GLOBAL DEFAULT +9 ld0 |
.* GLOBAL DEFAULT +9 le1 |
.* GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +7 _start |
.* TLS +GLOBAL DEFAULT +9 ld2 |
.* TLS +GLOBAL DEFAULT +9 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +9 gd0 |
.* TLS +GLOBAL DEFAULT +9 ie0 |
/attr-gnu-4-31.d
0,0 → 1,6
#source: attr-gnu-4-3.s |
#source: attr-gnu-4-1.s |
#as: -a32 |
#ld: -r -melf32ppc |
#warning: Warning: .* uses unknown floating point ABI 3 |
#target: powerpc*-*-* |
/attr-gnu-8-2.s
0,0 → 1,6
.gnu_attribute 8,2 |
/tlsexe.t
0,0 → 1,13
#source: tls.s |
#as: -a64 |
#ld: -melf64ppc tmpdir/libtlslib.so |
#objdump: -sj.tdata |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.tdata: |
.* 12345678 9abcdef0 23456789 abcdef01 .* |
.* 3456789a bcdef012 456789ab cdef0123 .* |
.* 56789abc def01234 6789abcd ef012345 .* |
.* 789abcde f0123456 .* |
/symtocbase-1.s
0,0 → 1,18
.section .toc,"aw",@progbits |
.align 15 |
.globl x |
x: .quad .x,.x@tocbase,0 |
.LCi: .quad i |
.space 48 * 1024 |
.data |
.globl i |
i: .long 0 |
.L1bases: |
.quad .TOC.@tocbase |
.quad .x@tocbase |
.quad .y@tocbase |
.text |
.globl .x |
.x: |
ld 9,.LCi@toc(2) |
blr |
/attr-gnu-8-31.d
0,0 → 1,10
#source: attr-gnu-8-3.s |
#source: attr-gnu-8-1.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_Vector: SPE |
/tlsexetoc.r
0,0 → 1,113
#source: tlslib.s |
#source: tlstoc.s |
#as: -a64 |
#ld: -melf64ppc |
#readelf: -WSsrl |
#target: powerpc64*-*-* |
|
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: |
|
Section Headers: |
+\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al |
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 |
+\[[ 0-9]+\] \.interp +.* |
+\[[ 0-9]+\] \.hash +.* |
+\[[ 0-9]+\] \.dynsym +.* |
+\[[ 0-9]+\] \.dynstr +.* |
+\[[ 0-9]+\] \.rela\.dyn +.* |
+\[[ 0-9]+\] \.rela\.plt +.* |
+\[[ 0-9]+\] \.text +PROGBITS .* 0+b8 0+ +AX +0 +0 +8 |
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+150 10 +WA +4 +0 +8 |
+\[[ 0-9]+\] \.branch_lt +PROGBITS .* 0+ 0+ +WA +0 +0 +8 |
+\[[ 0-9]+\] \.got +PROGBITS .* 0+58 08 +WA +0 +0 +8 |
+\[[ 0-9]+\] \.plt +.* |
+\[[ 0-9]+\] \.shstrtab +.* |
+\[[ 0-9]+\] \.symtab +.* |
+\[[ 0-9]+\] \.strtab +.* |
#... |
|
Elf file type is EXEC \(Executable file\) |
Entry point .* |
There are [0-9]+ program headers, starting at offset [0-9]+ |
|
Program Headers: |
+Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align |
+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 .* R E 0x10000 |
+LOAD .* RW +0x10000 |
+DYNAMIC .* RW +0x8 |
+TLS .* 0x0+38 0x0+70 R +0x8 |
|
Section to Segment mapping: |
+Segment Sections\.\.\. |
+0+ + |
+01 +\.interp |
+02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+03 +\.tdata \.dynamic \.got \.plt |
+04 +\.dynamic |
+05 +\.tdata \.tbss |
|
Relocation section '\.rela\.dyn' at offset .* contains 3 entries: |
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ gd \+ 0 |
[0-9a-f ]+R_PPC64_DTPREL64 +0+ gd \+ 0 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ ld \+ 0 |
|
Relocation section '\.rela\.plt' at offset .* contains 1 entries: |
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0 |
|
Symbol table '\.dynsym' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* TLS +GLOBAL DEFAULT +UND gd |
.* FUNC +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
|
Symbol table '\.symtab' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +1 |
.* SECTION LOCAL +DEFAULT +2 |
.* SECTION LOCAL +DEFAULT +3 |
.* SECTION LOCAL +DEFAULT +4 |
.* SECTION LOCAL +DEFAULT +5 |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* SECTION LOCAL +DEFAULT +8 |
.* SECTION LOCAL +DEFAULT +9 |
.* SECTION LOCAL +DEFAULT +10 |
.* SECTION LOCAL +DEFAULT +11 |
.* SECTION LOCAL +DEFAULT +12 |
.* SECTION LOCAL +DEFAULT +13 |
.* TLS +LOCAL +DEFAULT +8 gd4 |
.* TLS +LOCAL +DEFAULT +8 ld4 |
.* TLS +LOCAL +DEFAULT +8 ld5 |
.* TLS +LOCAL +DEFAULT +8 ld6 |
.* TLS +LOCAL +DEFAULT +8 ie4 |
.* TLS +LOCAL +DEFAULT +8 le4 |
.* TLS +LOCAL +DEFAULT +8 le5 |
.* NOTYPE +LOCAL +DEFAULT +12 \.Lie0 |
.* OBJECT +LOCAL +HIDDEN +10 _DYNAMIC |
.* FUNC +LOCAL +DEFAULT +UND \.__tls_get_addr |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +9 le0 |
.* FUNC +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +9 ld0 |
.* TLS +GLOBAL DEFAULT +9 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +7 _start |
.* TLS +GLOBAL DEFAULT +9 ld2 |
.* TLS +GLOBAL DEFAULT +9 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +9 gd0 |
.* TLS +GLOBAL DEFAULT +9 ie0 |
/tlsexetoc.t
0,0 → 1,13
#source: tlstoc.s |
#as: -a64 |
#ld: -melf64ppc tmpdir/libtlslib.so |
#objdump: -sj.tdata |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.tdata: |
.* 12345678 9abcdef0 23456789 abcdef01 .* |
.* 3456789a bcdef012 456789ab cdef0123 .* |
.* 56789abc def01234 6789abcd ef012345 .* |
.* 789abcde f0123456 .* |
/vxworks1-lib.td
0,0 → 1,3
#... |
0x0+16 \(TEXTREL\) +0x0 |
#pass |
/plt1.s
0,0 → 1,9
.text |
.global _start |
_start: |
bcl 20,31,1f |
1: mflr 30 |
addis 30,30,(_GLOBAL_OFFSET_TABLE_-1b)@ha |
addi 30,30,(_GLOBAL_OFFSET_TABLE_-1b)@l |
bl _exit@plt |
b _start |
/apuinfo2.s
0,0 → 1,8
.text |
.global apuinfo2 |
apuinfo2: |
evstdd 29,8(1) |
mfbbear 29 |
mfpmr 29, 27 |
dcbtstls 1, 29, 28 |
rfmci |
/tls32.d
0,0 → 1,50
#source: tls32.s |
#source: tlslib32.s |
#as: -a32 |
#ld: -melf32ppc |
#objdump: -dr |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Disassembly of section \.text: |
|
0+1800094 <_start>: |
1800094: 3c 62 00 00 addis r3,r2,0 |
1800098: 38 63 90 3c addi r3,r3,-28612 |
180009c: 3c 62 00 00 addis r3,r2,0 |
18000a0: 38 63 10 00 addi r3,r3,4096 |
18000a4: 3c 62 00 00 addis r3,r2,0 |
18000a8: 38 63 90 20 addi r3,r3,-28640 |
18000ac: 3c 62 00 00 addis r3,r2,0 |
18000b0: 38 63 10 00 addi r3,r3,4096 |
18000b4: 39 23 80 24 addi r9,r3,-32732 |
18000b8: 3d 23 00 00 addis r9,r3,0 |
18000bc: 81 49 80 28 lwz r10,-32728\(r9\) |
18000c0: 3d 22 00 00 addis r9,r2,0 |
18000c4: a1 49 90 30 lhz r10,-28624\(r9\) |
18000c8: 89 42 90 34 lbz r10,-28620\(r2\) |
18000cc: 3d 22 00 00 addis r9,r2,0 |
18000d0: 99 49 90 38 stb r10,-28616\(r9\) |
18000d4: 3c 62 00 00 addis r3,r2,0 |
18000d8: 38 63 90 00 addi r3,r3,-28672 |
18000dc: 3c 62 00 00 addis r3,r2,0 |
18000e0: 38 63 10 00 addi r3,r3,4096 |
18000e4: 91 43 80 04 stw r10,-32764\(r3\) |
18000e8: 3d 23 00 00 addis r9,r3,0 |
18000ec: 91 49 80 08 stw r10,-32760\(r9\) |
18000f0: 3d 22 00 00 addis r9,r2,0 |
18000f4: b1 49 90 30 sth r10,-28624\(r9\) |
18000f8: a1 42 90 14 lhz r10,-28652\(r2\) |
18000fc: 3d 22 00 00 addis r9,r2,0 |
1800100: a9 49 90 18 lha r10,-28648\(r9\) |
|
0+1800104 <__tls_get_addr>: |
1800104: 4e 80 00 20 blr |
Disassembly of section \.got: |
|
0+1810128 <_GLOBAL_OFFSET_TABLE_-0x4>: |
1810128: 4e 80 00 21 blrl |
|
0+181012c <_GLOBAL_OFFSET_TABLE_>: |
\.\.\. |
/tlstoc.d
0,0 → 1,37
#source: tlslib.s |
#source: tlstoc.s |
#as: -a64 |
#ld: -melf64ppc |
#objdump: -dr |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Disassembly of section \.text: |
|
.* <\.__tls_get_addr>: |
.* 4e 80 00 20 blr |
|
.* <_start>: |
.* 3c 6d 00 00 addis r3,r13,0 |
.* 60 00 00 00 nop |
.* 38 63 90 40 addi r3,r3,-28608 |
.* 3c 6d 00 00 addis r3,r13,0 |
.* 60 00 00 00 nop |
.* 38 63 10 00 addi r3,r3,4096 |
.* 3c 6d 00 00 addis r3,r13,0 |
.* 60 00 00 00 nop |
.* 38 63 90 48 addi r3,r3,-28600 |
.* 3c 6d 00 00 addis r3,r13,0 |
.* 60 00 00 00 nop |
.* 38 63 10 00 addi r3,r3,4096 |
.* 39 23 80 50 addi r9,r3,-32688 |
.* 3d 23 00 00 addis r9,r3,0 |
.* 81 49 80 58 lwz r10,-32680\(r9\) |
.* e9 22 80 40 ld r9,-32704\(r2\) |
.* 7d 49 18 2a ldx r10,r9,r3 |
.* 3d 2d 00 00 addis r9,r13,0 |
.* a1 49 90 68 lhz r10,-28568\(r9\) |
.* 89 4d 90 70 lbz r10,-28560\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* 99 49 90 78 stb r10,-28552\(r9\) |
/tlslib.s
0,0 → 1,21
.global .__tls_get_addr,__tls_get_addr,gd,ld |
.type .__tls_get_addr,@function |
|
.section ".opd","aw",@progbits |
__tls_get_addr: |
.align 3 |
.quad .__tls_get_addr |
.quad .TOC.@tocbase |
.quad 0 |
|
.section ".tbss","awT",@nobits |
.align 3 |
gd: .space 8 |
|
.section ".tdata","awT",@progbits |
.align 2 |
ld: .long 0xc0ffee |
|
.text |
.__tls_get_addr: |
blr |
/vxworks1.dd
0,0 → 1,48
|
.*: file format .* |
|
Disassembly of section \.plt: |
|
00080800 <_PROCEDURE_LINKAGE_TABLE_>: |
80800: 3d 80 00 09 lis r12,9 |
80802: R_PPC_ADDR16_HA _GLOBAL_OFFSET_TABLE_ |
80804: 39 8c 04 00 addi r12,r12,1024 |
80806: R_PPC_ADDR16_LO _GLOBAL_OFFSET_TABLE_ |
80808: 80 0c 00 08 lwz r0,8\(r12\) |
8080c: 7c 09 03 a6 mtctr r0 |
80810: 81 8c 00 04 lwz r12,4\(r12\) |
80814: 4e 80 04 20 bctr |
80818: 60 00 00 00 nop |
8081c: 60 00 00 00 nop |
80820: 3d 80 00 09 lis r12,9 |
80822: R_PPC_ADDR16_HA _GLOBAL_OFFSET_TABLE_\+0xc |
80824: 81 8c 04 0c lwz r12,1036\(r12\) |
80826: R_PPC_ADDR16_LO _GLOBAL_OFFSET_TABLE_\+0xc |
80828: 7d 89 03 a6 mtctr r12 |
8082c: 4e 80 04 20 bctr |
80830: 39 60 00 00 li r11,0 |
80834: 4b ff ff cc b 80800 <_PROCEDURE_LINKAGE_TABLE_> |
80838: 60 00 00 00 nop |
8083c: 60 00 00 00 nop |
80840: 3d 80 00 09 lis r12,9 |
80842: R_PPC_ADDR16_HA _GLOBAL_OFFSET_TABLE_\+0x10 |
80844: 81 8c 04 10 lwz r12,1040\(r12\) |
80846: R_PPC_ADDR16_LO _GLOBAL_OFFSET_TABLE_\+0x10 |
80848: 7d 89 03 a6 mtctr r12 |
8084c: 4e 80 04 20 bctr |
80850: 39 60 00 01 li r11,1 |
80854: 4b ff ff ac b 80800 <_PROCEDURE_LINKAGE_TABLE_> |
80858: 60 00 00 00 nop |
8085c: 60 00 00 00 nop |
Disassembly of section \.text: |
|
00080c00 <_start>: |
80c00: 4b ff fc 41 bl 80840 <_PROCEDURE_LINKAGE_TABLE_\+0x40> |
80c00: R_PPC_PLTREL24 \.plt\+0x40 |
80c04: 48 00 00 09 bl 80c0c <sexternal> |
80c04: R_PPC_PLTREL24 sexternal |
80c08: 4b ff fc 19 bl 80820 <_PROCEDURE_LINKAGE_TABLE_\+0x20> |
80c08: R_PPC_PLTREL24 \.plt\+0x20 |
|
00080c0c <sexternal>: |
80c0c: 4e 80 00 20 blr |
/tlsso32.d
0,0 → 1,46
#source: tls32.s |
#as: -a32 |
#ld: -shared -melf32ppc |
#objdump: -dr |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Disassembly of section \.text: |
|
.* <_start>: |
.*: 38 7f ff e0 addi r3,r31,-32 |
.*: 48 00 00 01 bl .* |
.*: 38 7f ff f4 addi r3,r31,-12 |
.*: 48 00 00 01 bl .* |
.*: 38 7f ff e8 addi r3,r31,-24 |
.*: 48 01 01 95 bl .*<__tls_get_addr@plt> |
.*: 38 7f ff f4 addi r3,r31,-12 |
.*: 48 01 01 8d bl .*<__tls_get_addr@plt> |
.*: 39 23 80 20 addi r9,r3,-32736 |
.*: 3d 23 00 00 addis r9,r3,0 |
.*: 81 49 80 24 lwz r10,-32732\(r9\) |
.*: 81 3f ff f0 lwz r9,-16\(r31\) |
.*: 7d 49 12 2e lhzx r10,r9,r2 |
.*: 89 42 00 00 lbz r10,0\(r2\) |
.*: 3d 22 00 00 addis r9,r2,0 |
.*: 99 49 00 00 stb r10,0\(r9\) |
.*: 38 7e ff d8 addi r3,r30,-40 |
.*: 48 00 00 01 bl .* |
.*: 38 7e ff f4 addi r3,r30,-12 |
.*: 48 00 00 01 bl .* |
.*: 91 43 80 04 stw r10,-32764\(r3\) |
.*: 3d 23 00 00 addis r9,r3,0 |
.*: 91 49 80 08 stw r10,-32760\(r9\) |
.*: 81 3e ff f0 lwz r9,-16\(r30\) |
.*: 7d 49 13 2e sthx r10,r9,r2 |
.*: a1 42 00 00 lhz r10,0\(r2\) |
.*: 3d 22 00 00 addis r9,r2,0 |
.*: a9 49 00 00 lha r10,0\(r9\) |
Disassembly of section \.got: |
|
.* <\.got>: |
\.\.\. |
.*: 4e 80 00 21 blrl |
.*: 00 01 03 ec .* |
\.\.\. |
/tlstocso.d
0,0 → 1,59
#source: tlstoc.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#objdump: -dr |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Disassembly of section \.text: |
|
.* <\.__tls_get_addr>: |
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 70 ld r11,-32656\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 80 ld r11,-32640\(r2\) |
.* e8 42 80 78 ld r2,-32648\(r2\) |
.* 4e 80 04 20 bctr |
|
.* <_start>: |
.* 38 62 80 08 addi r3,r2,-32760 |
.* 4b ff ff e5 bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 18 addi r3,r2,-32744 |
.* 4b ff ff d9 bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 28 addi r3,r2,-32728 |
.* 4b ff ff cd bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 38 addi r3,r2,-32712 |
.* 4b ff ff c1 bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 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 48 ld r9,-32696\(r2\) |
.* 7d 49 18 2a ldx r10,r9,r3 |
.* e9 22 80 50 ld r9,-32688\(r2\) |
.* 7d 49 6a 2e lhzx r10,r9,r13 |
.* 89 4d 00 00 lbz r10,0\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* 99 49 00 00 stb r10,0\(r9\) |
.* 00 00 00 00 .* |
.* 00 01 02 18 .* |
.* 7d 88 02 a6 mflr r12 |
.* 42 9f 00 05 bcl- 20,4\*cr7\+so,.* |
.* 7d 68 02 a6 mflr r11 |
.* e8 4b ff f0 ld r2,-16\(r11\) |
.* 7d 88 03 a6 mtlr r12 |
.* 7d 82 5a 14 add r12,r2,r11 |
.* e9 6c 00 00 ld r11,0\(r12\) |
.* e8 4c 00 08 ld r2,8\(r12\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 6c 00 10 ld r11,16\(r12\) |
.* 4e 80 04 20 bctr |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 38 00 00 00 li r0,0 |
.* 4b ff ff c4 b .* |
/tls32.g
0,0 → 1,11
#source: tls32.s |
#source: tlslib32.s |
#as: -a32 |
#ld: -melf32ppc |
#objdump: -sj.got |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Contents of section \.got: |
1810128 4e800021 00000000 00000000 00000000 .* |
/tlstoc.g
0,0 → 1,15
#source: tlslib.s |
#source: tlstoc.s |
#as: -a64 |
#ld: -melf64ppc |
#objdump: -sj.got |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
100101a0 00000000 00000001 00000000 00000000 .* |
100101b0 00000000 00000001 00000000 00000000 .* |
100101c0 00000000 00000001 00000000 00000000 .* |
100101d0 00000000 00000001 00000000 00000000 .* |
100101e0 ffffffff ffff8060 00000000 00000000 .* |
/tlsso32.g
0,0 → 1,13
#source: tls32.s |
#as: -a32 |
#ld: -shared -melf32ppc |
#objdump: -sj.got |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Contents of section \.got: |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 4e800021 000103ec 00000000 .* |
.* 00000000 .* |
/tlslib32.s
0,0 → 1,14
.global __tls_get_addr,gd,ld |
.type __tls_get_addr,@function |
|
.section ".tbss","awT",@nobits |
.align 2 |
gd: .space 4 |
|
.section ".tdata","awT",@progbits |
.align 2 |
ld: .long 0xc0ffee |
|
.text |
__tls_get_addr: |
blr |
/tlstocso.g
0,0 → 1,15
#source: tlstoc.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#objdump: -sj.got |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
.* 00000000 000186c0 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 .* |
/attr-gnu-4-00.d
0,0 → 1,7
#source: attr-gnu-4-0.s |
#source: attr-gnu-4-0.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
/vxworks1.ld
0,0 → 1,30
SECTIONS |
{ |
. = 0x80000; |
.interp : { *(.interp) } |
.hash : { *(.hash) } |
.dynsym : { *(.dynsym) } |
.dynstr : { *(.dynstr) } |
|
. = ALIGN (0x400); |
.rela.dyn : { *(.rela.dyn) } |
.rela.plt : { *(.rela.plt) } |
|
. = ALIGN (0x400); |
.plt : { *(.plt) } |
|
. = ALIGN (0x400); |
.text : { *(.text) } |
|
. = ALIGN (0x10000); |
.dynamic : { *(.dynamic) } |
|
. = ALIGN (0x400); |
.got : { *(.got.plt) *(.got) } |
|
. = ALIGN (0x400); |
.data : { *(.data) } |
|
. = ALIGN (0x400); |
.bss : { *(.bss) } |
} |
/attr-gnu-4-02.d
0,0 → 1,10
#source: attr-gnu-4-0.s |
#source: attr-gnu-4-2.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_FP: Soft float |
/attr-gnu-4-21.d
0,0 → 1,6
#source: attr-gnu-4-2.s |
#source: attr-gnu-4-1.s |
#as: -a32 |
#ld: -r -melf32ppc |
#warning: Warning: .* uses hard float, .* uses soft float |
#target: powerpc*-*-* |
/vxworks2.s
0,0 → 1,5
.globl _start |
.type _start,@function |
_start: |
blr |
.end _start |
/tls32.s
0,0 → 1,80
.section ".tbss","awT",@nobits |
.global _start,gd0,ld0,ld1,ld2,ie0,le0,le1 |
.align 2 |
gd0: .space 4 |
ld0: .space 4 |
ld1: .space 4 |
ld2: .space 4 |
ie0: .space 4 |
le0: .space 4 |
le1: .space 4 |
|
.section ".tdata","awT",@progbits |
.align 2 |
gd4: .long 0x12345678 |
ld4: .long 0x23456789 |
ld5: .long 0x3456789a |
ld6: .long 0x456789ab |
ie4: .long 0x56789abc |
le4: .long 0x6789abcd |
le5: .long 0x789abcde |
|
.text |
_start: |
#extern syms |
#GD |
addi 3,31,gd@got@tlsgd #R_PPC_GOT_TLSGD16 gd |
bl __tls_get_addr #R_PPC_REL24 __tls_get_addr |
|
#LD |
addi 3,31,ld@got@tlsld #R_PPC_GOT_TLSLD16 ld |
bl __tls_get_addr #R_PPC_REL24 __tls_get_addr |
|
#global syms |
#GD |
addi 3,31,gd0@got@tlsgd #R_PPC_GOT_TLSGD16 gd0 |
bl __tls_get_addr+0x8000@plt #R_PPC_PLTREL24 __tls_get_addr |
|
#LD |
addi 3,31,ld0@got@tlsld #R_PPC_GOT_TLSLD16 ld0 |
bl __tls_get_addr+0x8000@plt #R_PPC_PLTREL24 __tls_get_addr |
|
addi 9,3,ld0@dtprel #R_PPC_DTPREL16 ld0 |
|
addis 9,3,ld1@dtprel@ha #R_PPC_DTPREL16_HA ld1 |
lwz 10,ld1@dtprel@l(9) #R_PPC_DTPREL16_LO ld1 |
|
#IE |
lwz 9,ie0@got@tprel(31) #R_PPC_GOT_TPREL16 ie0 |
lhzx 10,9,ie0@tls #R_PPC_TLS ie0 |
|
#LE |
lbz 10,le0@tprel(2) #R_PPC_TPREL16 le0 |
|
addis 9,2,le1@tprel@ha #R_PPC_TPREL16_HA le1 |
stb 10,le1@tprel@l(9) #R_PPC_TPREL16_LO le1 |
|
#local syms, use a different got reg too. |
#GD |
addi 3,30,gd4@got@tlsgd #R_PPC_GOT_TLSGD16 gd4 |
bl __tls_get_addr #R_PPC_REL24 __tls_get_addr |
|
#LD |
addi 3,30,ld4@got@tlsld #R_PPC_GOT_TLSLD16 ld4 |
bl __tls_get_addr #R_PPC_REL24 __tls_get_addr |
|
stw 10,ld4@dtprel(3) #R_PPC_DTPREL16 ld4 |
|
addis 9,3,ld5@dtprel@ha #R_PPC_DTPREL16_HA ld5 |
stw 10,ld5@dtprel@l(9) #R_PPC_DTPREL16_LO ld5 |
|
#IE |
lwz 9,ie0@got@tprel(30) #R_PPC_GOT_TPREL16 ie4 |
sthx 10,9,ie0@tls #R_PPC_TLS ie4 |
|
#LE |
lhz 10,le4@tprel(2) #R_PPC_TPREL16 le4 |
|
addis 9,2,le5@tprel@ha #R_PPC_TPREL16_HA le5 |
lha 10,le5@tprel@l(9) #R_PPC_TPREL16_LO le5 |
|
/tls32.t
0,0 → 1,12
#source: tls32.s |
#source: tlslib32.s |
#as: -a32 |
#ld: -melf32ppc |
#objdump: -sj.tdata |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Contents of section \.tdata: |
1810108 12345678 23456789 3456789a 456789ab .* |
1810118 56789abc 6789abcd 789abcde 00c0ffee .* |
/tlsso32.r
0,0 → 1,129
#source: tls32.s |
#as: -a32 |
#ld: -shared -melf32ppc |
#readelf: -WSsrl |
#target: powerpc*-*-* |
|
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: |
|
Section Headers: |
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al |
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 |
+\[[ 0-9]+\] \.hash +.* |
+\[[ 0-9]+\] \.dynsym +.* |
+\[[ 0-9]+\] \.dynstr +.* |
+\[[ 0-9]+\] \.rela\.dyn +.* |
+\[[ 0-9]+\] \.rela\.plt +.* |
+\[[ 0-9]+\] \.text +PROGBITS .* 0+70 0+ +AX +0 +0 +1 |
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+1c 0+ WAT +0 +0 +4 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+1c 0+ WAT +0 +0 +4 |
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 08 +WA +3 +0 +4 |
+\[[ 0-9]+\] \.got +PROGBITS .* 0+34 04 WAX +0 +0 +4 |
+\[[ 0-9]+\] \.plt +.* |
+\[[ 0-9]+\] \.shstrtab +.* |
+\[[ 0-9]+\] \.symtab +.* |
+\[[ 0-9]+\] \.strtab +.* |
#... |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x[0-9a-f]+ |
There are [0-9]+ program headers, starting at offset [0-9]+ |
|
Program Headers: |
+Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align |
+LOAD .* R E 0x10000 |
+LOAD .* RWE 0x10000 |
+DYNAMIC .* RW +0x4 |
+TLS .* 0x0+1c 0x0+38 R +0x4 |
|
Section to Segment mapping: |
+Segment Sections\.\.\. |
+0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+01 +\.tdata \.dynamic \.got \.plt |
+02 +\.dynamic |
+03 +\.tdata \.tbss |
|
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries: |
Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC_REL24 +0+ +__tls_get_addr \+ 0 |
[0-9a-f ]+R_PPC_REL24 +0+ +__tls_get_addr \+ 0 |
[0-9a-f ]+R_PPC_REL24 +0+ +__tls_get_addr \+ 0 |
[0-9a-f ]+R_PPC_REL24 +0+ +__tls_get_addr \+ 0 |
[0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0 |
[0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0 |
[0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0 |
[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4 |
[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8 |
[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8 |
[0-9a-f ]+R_PPC_DTPMOD32 +0+ |
[0-9a-f ]+R_PPC_DTPREL32 +0+ |
[0-9a-f ]+R_PPC_DTPMOD32 +0+ |
[0-9a-f ]+R_PPC_DTPMOD32 +0+ +gd \+ 0 |
[0-9a-f ]+R_PPC_DTPREL32 +0+ +gd \+ 0 |
[0-9a-f ]+R_PPC_DTPMOD32 +0+1c +gd0 \+ 0 |
[0-9a-f ]+R_PPC_DTPREL32 +0+1c +gd0 \+ 0 |
[0-9a-f ]+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-9a-f ]+R_PPC_JMP_SLOT +0+ +__tls_get_addr \+ 0 |
|
Symbol table '\.dynsym' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +8 le0 |
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +8 ld0 |
.* TLS +GLOBAL DEFAULT +8 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +6 _start |
.* NOTYPE +GLOBAL DEFAULT +ABS __end |
.* TLS +GLOBAL DEFAULT +8 ld2 |
.* TLS +GLOBAL DEFAULT +8 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +8 gd0 |
.* TLS +GLOBAL DEFAULT +8 ie0 |
|
Symbol table '\.symtab' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +1 |
.* SECTION LOCAL +DEFAULT +2 |
.* SECTION LOCAL +DEFAULT +3 |
.* SECTION LOCAL +DEFAULT +4 |
.* SECTION LOCAL +DEFAULT +5 |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* SECTION LOCAL +DEFAULT +8 |
.* SECTION LOCAL +DEFAULT +9 |
.* SECTION LOCAL +DEFAULT +10 |
.* SECTION LOCAL +DEFAULT +11 |
.* TLS +LOCAL +DEFAULT +7 gd4 |
.* TLS +LOCAL +DEFAULT +7 ld4 |
.* TLS +LOCAL +DEFAULT +7 ld5 |
.* TLS +LOCAL +DEFAULT +7 ld6 |
.* TLS +LOCAL +DEFAULT +7 ie4 |
.* TLS +LOCAL +DEFAULT +7 le4 |
.* TLS +LOCAL +DEFAULT +7 le5 |
.* OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC |
.* OBJECT +LOCAL +HIDDEN +ABS _GLOBAL_OFFSET_TABLE_ |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +8 le0 |
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +8 ld0 |
.* TLS +GLOBAL DEFAULT +8 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +6 _start |
.* NOTYPE +GLOBAL DEFAULT +ABS __end |
.* TLS +GLOBAL DEFAULT +8 ld2 |
.* TLS +GLOBAL DEFAULT +8 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +8 gd0 |
.* TLS +GLOBAL DEFAULT +8 ie0 |
/tlstoc.s
0,0 → 1,88
.section ".tbss","awT",@nobits |
.global _start,gd0,ld0,ld1,ld2,ie0,le0,le1 |
.align 3 |
gd0: .space 8 |
ld0: .space 8 |
ld1: .space 8 |
ld2: .space 8 |
ie0: .space 8 |
le0: .space 8 |
le1: .space 8 |
|
.section ".tdata","awT",@progbits |
.align 3 |
gd4: .quad 0x123456789abcdef0 |
ld4: .quad 0x23456789abcdef01 |
ld5: .quad 0x3456789abcdef012 |
ld6: .quad 0x456789abcdef0123 |
ie4: .quad 0x56789abcdef01234 |
le4: .quad 0x6789abcdef012345 |
le5: .quad 0x789abcdef0123456 |
|
.text |
_start: |
#extern syms |
#GD |
addi 3,2,.Lgd@toc |
bl .__tls_get_addr |
nop |
.section .toc,"aw",@progbits |
.Lgd: |
.quad gd@dtpmod |
.quad gd@dtprel |
.text |
#LD |
addi 3,2,.Lld@toc |
bl .__tls_get_addr |
nop |
.section .toc,"aw",@progbits |
.Lld: |
.quad ld@dtpmod |
.quad 0 |
.text |
|
#global syms |
#GD |
addi 3,2,.Lgd0@toc |
bl .__tls_get_addr |
nop |
.section .toc,"aw",@progbits |
.Lgd0: |
.quad gd0@dtpmod |
.quad gd0@dtprel |
.text |
#LD |
addi 3,2,.Lld0@toc |
bl .__tls_get_addr |
nop |
.section .toc,"aw",@progbits |
.Lld0: |
.quad ld0@dtpmod |
.quad 0 |
.text |
|
addi 9,3,ld0@dtprel |
|
addis 9,3,ld1@dtprel@ha |
lwz 10,ld1@dtprel@l(9) |
|
ld 9,.Lld2@toc(2) |
ldx 10,9,3 |
.section .toc,"aw",@progbits |
.Lld2: |
.quad ld2@dtprel |
.text |
|
#IE |
ld 9,.Lie0@toc(2) |
lhzx 10,9,.Lie0@tls |
.section .toc,"aw",@progbits |
.Lie0: |
.quad ie0@tprel |
.text |
|
#LE |
lbz 10,le0@tprel(13) #R_PPC64_TPREL16 le0 |
|
addis 9,13,le1@tprel@ha #R_PPC64_TPREL16_HA le1 |
stb 10,le1@tprel@l(9) #R_PPC64_TPREL16_LO le1 |
/attr-gnu-8-23.d
0,0 → 1,6
#source: attr-gnu-8-2.s |
#source: attr-gnu-8-3.s |
#as: -a32 |
#ld: -r -melf32ppc |
#warning: Warning: .* uses vector ABI "SPE", .* uses "AltiVec" |
#target: powerpc*-*-* |
/tlstocso.r
0,0 → 1,123
#source: tlstoc.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#readelf: -WSsrl |
#target: powerpc64*-*-* |
|
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: |
|
Section Headers: |
+\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al |
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 |
+\[[ 0-9]+\] \.hash .* |
+\[[ 0-9]+\] \.dynsym .* |
+\[[ 0-9]+\] \.dynstr .* |
+\[[ 0-9]+\] \.rela\.dyn .* |
+\[[ 0-9]+\] \.rela\.plt .* |
+\[[ 0-9]+\] \.text .* |
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic .* |
+\[[ 0-9]+\] \.branch_lt .* |
+\[[ 0-9]+\] \.got .* |
+\[[ 0-9]+\] \.plt .* |
+\[[ 0-9]+\] \.shstrtab .* |
+\[[ 0-9]+\] \.symtab .* |
+\[[ 0-9]+\] \.strtab .* |
#... |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x[0-9a-f]+ |
There are [0-9]+ program headers, starting at offset [0-9]+ |
|
Program Headers: |
+Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align |
+LOAD .* R E 0x10000 |
+LOAD .* RW +0x10000 |
+DYNAMIC .* RW +0x8 |
+TLS .* 0x0+38 0x0+70 R +0x8 |
|
Section to Segment mapping: |
+Segment Sections\.\.\. |
+0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+01 +\.tdata \.dynamic \.got \.plt |
+02 +\.dynamic |
+03 +\.tdata \.tbss |
|
Relocation section '\.rela\.dyn' at offset .* contains 11 entries: |
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0 |
[0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0 |
[0-9a-f ]+R_PPC64_TPREL16_LO +0+68 le1 \+ 0 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ gd \+ 0 |
[0-9a-f ]+R_PPC64_DTPREL64 +0+ gd \+ 0 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ ld \+ 0 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+38 gd0 \+ 0 |
[0-9a-f ]+R_PPC64_DTPREL64 +0+38 gd0 \+ 0 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+40 ld0 \+ 0 |
[0-9a-f ]+R_PPC64_DTPREL64 +0+50 ld2 \+ 0 |
[0-9a-f ]+R_PPC64_TPREL64 +0+58 ie0 \+ 0 |
|
Relocation section '\.rela\.plt' at offset .* contains 1 entries: |
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0 |
|
Symbol table '\.dynsym' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +8 le0 |
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +8 ld0 |
.* TLS +GLOBAL DEFAULT +8 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +6 _start |
.* TLS +GLOBAL DEFAULT +8 ld2 |
.* TLS +GLOBAL DEFAULT +8 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +8 gd0 |
.* TLS +GLOBAL DEFAULT +8 ie0 |
|
Symbol table '\.symtab' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +1 |
.* SECTION LOCAL +DEFAULT +2 |
.* SECTION LOCAL +DEFAULT +3 |
.* SECTION LOCAL +DEFAULT +4 |
.* SECTION LOCAL +DEFAULT +5 |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* SECTION LOCAL +DEFAULT +8 |
.* SECTION LOCAL +DEFAULT +9 |
.* SECTION LOCAL +DEFAULT +10 |
.* SECTION LOCAL +DEFAULT +11 |
.* SECTION LOCAL +DEFAULT +12 |
.* TLS +LOCAL +DEFAULT +7 gd4 |
.* TLS +LOCAL +DEFAULT +7 ld4 |
.* TLS +LOCAL +DEFAULT +7 ld5 |
.* TLS +LOCAL +DEFAULT +7 ld6 |
.* TLS +LOCAL +DEFAULT +7 ie4 |
.* TLS +LOCAL +DEFAULT +7 le4 |
.* TLS +LOCAL +DEFAULT +7 le5 |
.* NOTYPE +LOCAL +DEFAULT +11 \.Lie0 |
.* OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC |
.* NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +8 le0 |
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +8 ld0 |
.* TLS +GLOBAL DEFAULT +8 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +6 _start |
.* TLS +GLOBAL DEFAULT +8 ld2 |
.* TLS +GLOBAL DEFAULT +8 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +8 gd0 |
.* TLS +GLOBAL DEFAULT +8 ie0 |
/tlstoc.t
0,0 → 1,14
#source: tlslib.s |
#source: tlstoc.s |
#as: -a64 |
#ld: -melf64ppc |
#objdump: -sj.tdata |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.tdata: |
10010148 00c0ffee 00000000 12345678 9abcdef0 .* |
10010158 23456789 abcdef01 3456789a bcdef012 .* |
10010168 456789ab cdef0123 56789abc def01234 .* |
10010178 6789abcd ef012345 789abcde f0123456 .* |
/powerpc.exp
0,0 → 1,171
# Expect script for ld-powerpc tests |
# Copyright 2002, 2003, 2005, 2006, 2007 Free Software Foundation |
# |
# This file is part of the GNU Binutils. |
# |
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
# MA 02110-1301, USA. |
# |
|
if { ![istarget "powerpc*-*-*"] } { |
return |
} |
|
if {[istarget "*-*-vxworks"]} { |
set ppcvxtests { |
{"VxWorks shared library test 1 (default script)" "-shared" |
"-mregnames" {vxworks1-lib.s} |
{{readelf --segments vxworks1-lib.sd}} |
"libvxworks1.so"} |
{"VxWorks shared library test 1" "-shared -Tvxworks1.ld" |
"-mregnames" {vxworks1-lib.s} |
{{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd} |
{readelf --symbols vxworks1-lib.nd} {readelf -d vxworks1-lib.td}} |
"libvxworks1.so"} |
{"VxWorks executable test 1 (dynamic)" \ |
"tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" |
"-mregnames" {vxworks1.s} |
{{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}} |
"vxworks1"} |
{"VxWorks executable test 2 (dynamic)" \ |
"-Tvxworks1.ld -q --force-dynamic" |
"-mregnames" {vxworks2.s} |
{{readelf --segments vxworks2.sd}} |
"vxworks2"} |
{"VxWorks executable test 2 (static)" |
"-Tvxworks1.ld" |
"-mregnames" {vxworks2.s} |
{{readelf --segments vxworks2-static.sd}} |
"vxworks2"} |
} |
run_ld_link_tests $ppcvxtests |
run_dump_test "vxworks1-static" |
return |
} |
|
# powerpc ELF only at the moment. Disable for nto too, even though it |
# is ELF, because we pass -melf32ppc to ld and powerpc-nto-ld wants |
# -melf32ppcnto. |
|
if { [istarget "*-*-macos*"] || [istarget "*-*-netware*"] |
|| [istarget "*-*-pe"] || [istarget "*-*-winnt*"] |
|| [istarget "*-*-cygwin*"] || [istarget "*-*-aix*"] |
|| [istarget "*-*-beos*"] || [istarget "*-*-lynxos*"] |
|| [istarget "*-*-nto*"] } { |
return |
} |
|
proc supports_ppc64 { } { |
global ld |
|
catch "exec $ld --help | grep emulations" tmp |
if [ string match "*elf64ppc*" $tmp ] then { |
return 1 |
} else { |
return 0 |
} |
} |
|
# List contains test-items with 3 items followed by 2 lists: |
# 0:name 1:ld options 2:assembler options |
# 3:filenames of assembler files 4: action and options. 5: name of output file |
|
# Actions: |
# objdump: Apply objdump options on result. Compare with regex (last arg). |
# nm: Apply nm options on result. Compare with regex (last arg). |
# readelf: Apply readelf options on result. Compare with regex (last arg). |
|
set ppcelftests { |
{"Reloc section order" "-melf32ppc -shared -z nocombreloc" "-a32" {reloc.s} |
{{objdump -hw reloc.d}} "reloc.so"} |
{"APUinfo section processing" "-melf32ppc" |
"-a32 -me500" {apuinfo1.s apuinfo2.s} |
{{readelf -x2 apuinfo.rd}} "apuinfo"} |
{"TLS32 static exec" "-melf32ppc" "-a32" {tls32.s tlslib32.s} |
{{objdump -dr tls32.d} {objdump -sj.got tls32.g} |
{objdump -sj.tdata tls32.t}} |
"tls32"} |
{"TLS32 helper shared library" "-shared -melf32ppc tmpdir/tlslib32.o" "" {} |
{} "libtlslib32.so"} |
{"TLS32 dynamic exec" "-melf32ppc tmpdir/tls32.o tmpdir/libtlslib32.so" "" {} |
{{readelf -WSsrl tlsexe32.r} {objdump -dr tlsexe32.d} |
{objdump -sj.got tlsexe32.g} {objdump -sj.tdata tlsexe32.t}} |
"tlsexe32"} |
{"TLS32 shared" "-shared -melf32ppc tmpdir/tls32.o" "" {} |
{{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d} |
{objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}} |
"tls32.so"} |
{"Shared library with global symbol" "-shared -melf32ppc" "-a32" {sdalib.s} |
{} "sdalib.so"} |
{"Dynamic application with SDA" "-melf32ppc tmpdir/sdalib.so" "-a32" {sdadyn.s} |
{{objdump -R sdadyn.d}} "sdadyn"} |
} |
|
set ppc64elftests { |
{"TLS static exec" "-melf64ppc" "-a64" {tls.s tlslib.s} |
{{objdump -dr tls.d} {objdump -sj.got tls.g} {objdump -sj.tdata tls.t}} |
"tls"} |
{"TLS helper shared library" "-shared -melf64ppc tmpdir/tlslib.o" "" {} |
{} "libtlslib.so"} |
{"TLS dynamic exec" "-melf64ppc tmpdir/tls.o tmpdir/libtlslib.so" "" {} |
{{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d} |
{objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} |
"tlsexe"} |
{"TLS shared" "-shared -melf64ppc tmpdir/tls.o" "" {} |
{{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d} |
{objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}} |
"tls.so"} |
{"TLSTOC static exec" "-melf64ppc tmpdir/tlslib.o " "-a64" {tlstoc.s} |
{{objdump -dr tlstoc.d} {objdump -sj.got tlstoc.g} |
{objdump -sj.tdata tlstoc.t}} |
"tlstoc"} |
{"TLSTOC dynamic exec" "-melf64ppc tmpdir/tlstoc.o tmpdir/libtlslib.so" |
"" {} |
{{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d} |
{objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} |
"tlsexetoc"} |
{"TLSTOC shared" "-shared -melf64ppc tmpdir/tlstoc.o" "" {} |
{{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d} |
{objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}} |
"tlstoc.so"} |
{"sym@tocbase" "-shared -melf64ppc" "-a64" {symtocbase-1.s symtocbase-2.s} |
{{objdump -dj.data symtocbase.d}} "symtocbase.so"} |
} |
|
|
run_ld_link_tests $ppcelftests |
|
if [ supports_ppc64 ] then { |
run_ld_link_tests $ppc64elftests |
run_dump_test "relbrlt" |
} |
|
run_dump_test "plt1" |
|
run_dump_test "attr-gnu-4-00" |
run_dump_test "attr-gnu-4-01" |
run_dump_test "attr-gnu-4-02" |
run_dump_test "attr-gnu-4-10" |
run_dump_test "attr-gnu-4-11" |
run_dump_test "attr-gnu-4-12" |
run_dump_test "attr-gnu-4-13" |
run_dump_test "attr-gnu-4-20" |
run_dump_test "attr-gnu-4-21" |
run_dump_test "attr-gnu-4-22" |
run_dump_test "attr-gnu-4-31" |
|
run_dump_test "attr-gnu-8-11" |
run_dump_test "attr-gnu-8-23" |
run_dump_test "attr-gnu-8-31" |
/tlsso32.t
0,0 → 1,11
#source: tls32.s |
#as: -a32 |
#ld: -shared -melf32ppc |
#objdump: -sj.tdata |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Contents of section \.tdata: |
.* 12345678 23456789 3456789a 456789ab .* |
.* 56789abc 6789abcd 789abcde .* |
/tlstocso.t
0,0 → 1,13
#source: tlstoc.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#objdump: -sj.tdata |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.tdata: |
.* 12345678 9abcdef0 23456789 abcdef01 .* |
.* 3456789a bcdef012 456789ab cdef0123 .* |
.* 56789abc def01234 6789abcd ef012345 .* |
.* 789abcde f0123456 .* |
/tlsexe32.d
0,0 → 1,47
#source: tls32.s |
#as: -a32 |
#ld: -melf32ppc tmpdir/libtlslib32.so |
#objdump: -dr |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Disassembly of section \.text: |
|
.* <_start>: |
.*: 80 7f ff f0 lwz r3,-16\(r31\) |
.*: 7c 63 12 14 add r3,r3,r2 |
.*: 38 7f ff f4 addi r3,r31,-12 |
.*: 48 01 01 85 bl .*<__tls_get_addr@plt> |
.*: 3c 62 00 00 addis r3,r2,0 |
.*: 38 63 90 1c addi r3,r3,-28644 |
.*: 3c 62 00 00 addis r3,r2,0 |
.*: 38 63 10 00 addi r3,r3,4096 |
.*: 39 23 80 20 addi r9,r3,-32736 |
.*: 3d 23 00 00 addis r9,r3,0 |
.*: 81 49 80 24 lwz r10,-32732\(r9\) |
.*: 3d 22 00 00 addis r9,r2,0 |
.*: a1 49 90 2c lhz r10,-28628\(r9\) |
.*: 89 42 90 30 lbz r10,-28624\(r2\) |
.*: 3d 22 00 00 addis r9,r2,0 |
.*: 99 49 90 34 stb r10,-28620\(r9\) |
.*: 3c 62 00 00 addis r3,r2,0 |
.*: 38 63 90 00 addi r3,r3,-28672 |
.*: 3c 62 00 00 addis r3,r2,0 |
.*: 38 63 10 00 addi r3,r3,4096 |
.*: 91 43 80 04 stw r10,-32764\(r3\) |
.*: 3d 23 00 00 addis r9,r3,0 |
.*: 91 49 80 08 stw r10,-32760\(r9\) |
.*: 3d 22 00 00 addis r9,r2,0 |
.*: b1 49 90 2c sth r10,-28628\(r9\) |
.*: a1 42 90 14 lhz r10,-28652\(r2\) |
.*: 3d 22 00 00 addis r9,r2,0 |
.*: a9 49 90 18 lha r10,-28648\(r9\) |
Disassembly of section \.got: |
|
.* <_GLOBAL_OFFSET_TABLE_-0x10>: |
\.\.\. |
.*: 4e 80 00 21 blrl |
|
.* <_GLOBAL_OFFSET_TABLE_>: |
.*: 01 81 02 b4 00 00 00 00 00 00 00 00 .* |
/tlsexe32.g
0,0 → 1,11
#source: tls32.s |
#as: -a32 |
#ld: -melf32ppc tmpdir/libtlslib32.so |
#objdump: -sj.got |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Contents of section \.got: |
.* 00000000 00000000 00000000 4e800021 .* |
.* 018102b4 00000000 00000000 .* |
/attr-gnu-4-1.s
0,0 → 1,11
.gnu_attribute 4,1 |
/attr-gnu-4-11.d
0,0 → 1,10
#source: attr-gnu-4-1.s |
#source: attr-gnu-4-1.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_FP: Hard float |
/attr-gnu-4-3.s
0,0 → 1,10
.gnu_attribute 4,3 |
/attr-gnu-8-1.s
0,0 → 1,10
.gnu_attribute 8,1 |
/attr-gnu-4-13.d
0,0 → 1,6
#source: attr-gnu-4-1.s |
#source: attr-gnu-4-3.s |
#as: -a32 |
#ld: -r -melf32ppc |
#warning: Warning: .* uses unknown floating point ABI 3 |
#target: powerpc*-*-* |
/apuinfo.rd
0,0 → 1,10
#source: apuinfo1.s |
#source: apuinfo2.s |
#as: -me500 |
#readelf: -x2 |
#target: powerpc-eabi* |
|
Hex dump of section '.PPC.EMB.apuinfo': |
0x00000000 00000008 0000001c 00000002 41505569 ............APUi |
0x00000010 6e666f00 00420001 00430001 00410001 nfo..B...C...A.. |
0x00000020 01020001 01010001 00400001 01000001 .........@...... |
/attr-gnu-8-3.s
0,0 → 1,10
.gnu_attribute 8,3 |
/attr-gnu-8-11.d
0,0 → 1,10
#source: attr-gnu-8-1.s |
#source: attr-gnu-8-1.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_Vector: Generic |
/vxworks1-lib.nd
0,0 → 1,9
#... |
Symbol table '\.dynsym' .*: |
#... |
.*: 00090400 * 0 * OBJECT * GLOBAL * DEFAULT * [0-9]+ _GLOBAL_OFFSET_TABLE_ |
#... |
Symbol table '\.symtab' .*: |
#... |
.*: 00090400 * 0 * OBJECT * GLOBAL * DEFAULT * [0-9]+ _GLOBAL_OFFSET_TABLE_ |
#pass |
/tlsexe32.r
0,0 → 1,111
#source: tls32.s |
#source: tlslib32.s |
#as: -a32 |
#ld: -melf32ppc |
#readelf: -WSsrl |
#target: powerpc*-*-* |
|
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: |
|
Section Headers: |
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al |
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0 |
+\[[ 0-9]+\] \.interp +.* |
+\[[ 0-9]+\] \.hash +.* |
+\[[ 0-9]+\] \.dynsym +.* |
+\[[ 0-9]+\] \.dynstr +.* |
+\[[ 0-9]+\] \.rela\.dyn +.* |
+\[[ 0-9]+\] \.rela\.plt +.* |
+\[[ 0-9]+\] \.text +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000070 00 +AX +0 +0 +1 |
+\[[ 0-9]+\] \.tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 00001c 00 WAT +0 +0 +4 |
+\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 00001c 00 WAT +0 +0 +4 |
+\[[ 0-9]+\] \.dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 08 +WA +4 +0 +4 |
+\[[ 0-9]+\] \.got +PROGBITS +[0-9a-f]+ [0-9a-f]+ 00001c 04 WAX +0 +0 +4 |
+\[[ 0-9]+\] \.plt +NOBITS +.* |
+\[[ 0-9]+\] \.shstrtab +STRTAB +.* |
+\[[ 0-9]+\] \.symtab +SYMTAB +.* |
+\[[ 0-9]+\] \.strtab +STRTAB +.* |
#... |
|
Elf file type is EXEC \(Executable file\) |
Entry point .* |
There are [0-9]+ program headers, starting at offset [0-9]+ |
|
Program Headers: |
+Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align |
+PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4 |
+INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1 |
+\[Requesting program interpreter: .*\] |
+LOAD .* R E 0x10000 |
+LOAD .* RWE 0x10000 |
+DYNAMIC .* RW +0x4 |
+TLS .* 0x0001c 0x00038 R +0x4 |
|
Section to Segment mapping: |
+Segment Sections\.\.\. |
+00 + |
+01 +\.interp |
+02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+03 +\.tdata \.dynamic \.got \.plt |
+04 +\.dynamic |
+05 +\.tdata \.tbss |
|
Relocation section '\.rela\.dyn' at offset .* contains 2 entries: |
Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC_TPREL32 +00000000 +gd \+ 0 |
[0-9a-f ]+R_PPC_DTPMOD32 +00000000 +ld \+ 0 |
|
Relocation section '\.rela\.plt' at offset .* contains 1 entries: |
Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC_JMP_SLOT[0-9a-f ]+__tls_get_addr \+ 0 |
|
Symbol table '\.dynsym' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* TLS +GLOBAL DEFAULT +UND gd |
.* FUNC +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +ABS __end |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
|
Symbol table '\.symtab' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +1 |
.* SECTION LOCAL +DEFAULT +2 |
.* SECTION LOCAL +DEFAULT +3 |
.* SECTION LOCAL +DEFAULT +4 |
.* SECTION LOCAL +DEFAULT +5 |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* SECTION LOCAL +DEFAULT +8 |
.* SECTION LOCAL +DEFAULT +9 |
.* SECTION LOCAL +DEFAULT +10 |
.* SECTION LOCAL +DEFAULT +11 |
.* SECTION LOCAL +DEFAULT +12 |
.* TLS +LOCAL +DEFAULT +8 gd4 |
.* TLS +LOCAL +DEFAULT +8 ld4 |
.* TLS +LOCAL +DEFAULT +8 ld5 |
.* TLS +LOCAL +DEFAULT +8 ld6 |
.* TLS +LOCAL +DEFAULT +8 ie4 |
.* TLS +LOCAL +DEFAULT +8 le4 |
.* TLS +LOCAL +DEFAULT +8 le5 |
.* OBJECT +LOCAL +HIDDEN +10 _DYNAMIC |
.* OBJECT +LOCAL +HIDDEN +11 _GLOBAL_OFFSET_TABLE_ |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +9 le0 |
.* FUNC +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +9 ld0 |
.* TLS +GLOBAL DEFAULT +9 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +7 _start |
.* NOTYPE +GLOBAL DEFAULT +ABS __end |
.* TLS +GLOBAL DEFAULT +9 ld2 |
.* TLS +GLOBAL DEFAULT +9 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +9 gd0 |
.* TLS +GLOBAL DEFAULT +9 ie0 |
/vxworks1-lib.s
0,0 → 1,38
.text |
.globl foo |
.type foo, @function |
foo: |
stwu r1,-24(r1) |
mflr r0 |
stw r0,28(r1) |
lis r30,__GOTT_BASE__@ha |
lwz r30,__GOTT_BASE__@l(r30) |
lwz r30,__GOTT_INDEX__(r30) |
lwz r1,x@got(r30) |
lwz r0,0(r1) |
addi r0,r0,1 |
stw r0,0(r1) |
bl slocal |
bl sglobal@plt |
bl sexternal@plt |
lwz r0,28(r1) |
mtlr r0 |
addi r1,r1,24 |
blr |
.size foo, .-foo |
|
.type slocal, @function |
slocal: |
blr |
.size slocal, .-slocal |
|
.globl sglobal |
.type sglobal, @function |
sglobal: |
blr |
.size sglobal, .-sglobal |
|
.data |
.4byte slocal |
|
.comm x,4,4 |
/symtocbase-2.s
0,0 → 1,16
.section .toc,"aw",@progbits |
.align 15 |
.globl y |
y: .quad .y,.y@tocbase,0 |
.LCi: .quad i |
.space 48 * 1024 |
.data |
.L2bases: |
.quad .TOC.@tocbase |
.quad .x@tocbase |
.quad .y@tocbase |
.text |
.globl .y |
.y: |
ld 9,.LCi@toc(2) |
blr |
/vxworks1-static.d
0,0 → 1,4
#name: VxWorks executable test 1 (static) |
#source: vxworks1.s -mregnames |
#ld: tmpdir/libvxworks1.so -Tvxworks1.ld |
#error: Dynamic sections created in non-dynamic link |
/tlsexe32.t
0,0 → 1,11
#source: tls32.s |
#as: -a32 |
#ld: -melf32ppc tmpdir/libtlslib32.so |
#objdump: -sj.tdata |
#target: powerpc*-*-* |
|
.*: +file format elf32-powerpc |
|
Contents of section \.tdata: |
.* 12345678 23456789 3456789a 456789ab .* |
.* 56789abc 6789abcd 789abcde .* |
/vxworks1-lib.rd
0,0 → 1,13
|
Relocation section '\.rela\.plt' at offset .* contains 2 entries: |
Offset Info Type Sym\.Value Sym\. Name \+ Addend |
0009040c .*15 R_PPC_JMP_SLOT 00000000 sexternal \+ 0 |
00090410 .*15 R_PPC_JMP_SLOT 00080c48 sglobal \+ 0 |
|
Relocation section '\.rela\.dyn' at offset .* contains 5 entries: |
Offset Info Type Sym\.Value Sym\. Name \+ Addend |
00090800 00000016 R_PPC_RELATIVE * 00080c44 |
00080c0e .*06 R_PPC_ADDR16_HA 00000000 __GOTT_BASE__ \+ 0 |
00080c12 .*04 R_PPC_ADDR16_LO 00000000 __GOTT_BASE__ \+ 0 |
00080c16 .*03 R_PPC_ADDR16 00000000 __GOTT_INDEX__ \+ 0 |
00090414 .*14 R_PPC_GLOB_DAT 00090c00 x \+ 0 |
/apuinfo1.s
0,0 → 1,9
.text |
.global apuinfo1 |
apuinfo1: |
evstdd 29,8(1) |
isellt 29, 28, 27 |
efsabs 29, 28 |
.global _start |
_start: |
nop |
/tls.d
0,0 → 1,53
#source: tls.s |
#source: tlslib.s |
#as: -a64 |
#ld: -melf64ppc |
#objdump: -dr |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Disassembly of section \.text: |
|
0+100000e8 <_start>: |
100000e8: 3c 6d 00 00 addis r3,r13,0 |
100000ec: 60 00 00 00 nop |
100000f0: 38 63 90 78 addi r3,r3,-28552 |
100000f4: 3c 6d 00 00 addis r3,r13,0 |
100000f8: 60 00 00 00 nop |
100000fc: 38 63 10 00 addi r3,r3,4096 |
10000100: 3c 6d 00 00 addis r3,r13,0 |
10000104: 60 00 00 00 nop |
10000108: 38 63 90 40 addi r3,r3,-28608 |
1000010c: 3c 6d 00 00 addis r3,r13,0 |
10000110: 60 00 00 00 nop |
10000114: 38 63 10 00 addi r3,r3,4096 |
10000118: 39 23 80 48 addi r9,r3,-32696 |
1000011c: 3d 23 00 00 addis r9,r3,0 |
10000120: 81 49 80 50 lwz r10,-32688\(r9\) |
10000124: e9 22 80 10 ld r9,-32752\(r2\) |
10000128: 7d 49 18 2a ldx r10,r9,r3 |
1000012c: 3d 2d 00 00 addis r9,r13,0 |
10000130: a1 49 90 60 lhz r10,-28576\(r9\) |
10000134: 89 4d 90 68 lbz r10,-28568\(r13\) |
10000138: 3d 2d 00 00 addis r9,r13,0 |
1000013c: 99 49 90 70 stb r10,-28560\(r9\) |
10000140: 3c 6d 00 00 addis r3,r13,0 |
10000144: 60 00 00 00 nop |
10000148: 38 63 90 00 addi r3,r3,-28672 |
1000014c: 3c 6d 00 00 addis r3,r13,0 |
10000150: 60 00 00 00 nop |
10000154: 38 63 10 00 addi r3,r3,4096 |
10000158: f9 43 80 08 std r10,-32760\(r3\) |
1000015c: 3d 23 00 00 addis r9,r3,0 |
10000160: 91 49 80 10 stw r10,-32752\(r9\) |
10000164: e9 22 80 08 ld r9,-32760\(r2\) |
10000168: 7d 49 19 2a stdx r10,r9,r3 |
1000016c: 3d 2d 00 00 addis r9,r13,0 |
10000170: b1 49 90 60 sth r10,-28576\(r9\) |
10000174: e9 4d 90 2a lwa r10,-28632\(r13\) |
10000178: 3d 2d 00 00 addis r9,r13,0 |
1000017c: a9 49 90 30 lha r10,-28624\(r9\) |
|
0+10000180 <\.__tls_get_addr>: |
10000180: 4e 80 00 20 blr |
/reloc.d
0,0 → 1,13
# Test that orphan reloc sections are placed before .rela.plt even when |
# .rela.plt is the only reloc section. |
|
#source: reloc.s |
#ld: -shared -z nocombreloc |
#objdump: -hw |
|
.*: +file format elf.* |
#... |
.*\.relaplatypus.* |
#... |
.*\.rela\.plt.* |
#pass |
/tlsso.d
0,0 → 1,75
#source: tls.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#objdump: -dr |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Disassembly of section \.text: |
|
.* <\.__tls_get_addr>: |
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 78 ld r11,-32648\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 88 ld r11,-32632\(r2\) |
.* e8 42 80 80 ld r2,-32640\(r2\) |
.* 4e 80 04 20 bctr |
|
.* <_start>: |
.* 38 62 80 20 addi r3,r2,-32736 |
.* 4b ff ff e5 bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 50 addi r3,r2,-32688 |
.* 4b ff ff d9 bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 38 addi r3,r2,-32712 |
.* 4b ff ff cd bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 50 addi r3,r2,-32688 |
.* 4b ff ff c1 bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 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 30 ld r9,-32720\(r2\) |
.* 7d 49 18 2a ldx r10,r9,r3 |
.* e9 22 80 48 ld r9,-32696\(r2\) |
.* 7d 49 6a 2e lhzx r10,r9,r13 |
.* 89 4d 00 00 lbz r10,0\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* 99 49 00 00 stb r10,0\(r9\) |
.* 38 62 80 08 addi r3,r2,-32760 |
.* 4b ff ff 8d bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 50 addi r3,r2,-32688 |
.* 4b ff ff 81 bl .* <\.__tls_get_addr> |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 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 18 ld r9,-32744\(r2\) |
.* 7d 49 19 2a stdx r10,r9,r3 |
.* e9 22 80 48 ld r9,-32696\(r2\) |
.* 7d 49 6b 2e sthx r10,r9,r13 |
.* e9 4d 00 02 lwa r10,0\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* a9 49 00 00 lha r10,0\(r9\) |
.* 00 00 00 00 .* |
.* 00 01 02 20 .* |
.* 7d 88 02 a6 mflr r12 |
.* 42 9f 00 05 bcl- 20,4\*cr7\+so,.* |
.* 7d 68 02 a6 mflr r11 |
.* e8 4b ff f0 ld r2,-16\(r11\) |
.* 7d 88 03 a6 mtlr r12 |
.* 7d 82 5a 14 add r12,r2,r11 |
.* e9 6c 00 00 ld r11,0\(r12\) |
.* e8 4c 00 08 ld r2,8\(r12\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 6c 00 10 ld r11,16\(r12\) |
.* 4e 80 04 20 bctr |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 60 00 00 00 nop |
.* 38 00 00 00 li r0,0 |
.* 4b ff ff c4 b .* |
/tls.g
0,0 → 1,12
#source: tls.s |
#source: tlslib.s |
#as: -a64 |
#ld: -melf64ppc |
#objdump: -sj.got |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
100101e0 00000000 100181e0 ffffffff ffff8018 .* |
100101f0 ffffffff ffff8058 .* |
/relbrlt.d
0,0 → 1,60
#source: relbrlt.s |
#as: -a64 |
#ld: -melf64ppc --emit-relocs |
#objdump: -Dr |
|
.*: file format elf64-powerpc |
|
Disassembly of section \.text: |
|
0*100000b0 <_start>: |
[0-9a-f ]*: 49 bf 00 2d bl .* |
[0-9a-f ]*: R_PPC64_REL24 \.text\+0x37e003c |
[0-9a-f ]*: 60 00 00 00 nop |
[0-9a-f ]*: 49 bf 00 19 bl .* |
[0-9a-f ]*: R_PPC64_REL24 \.text\+0x3bf0020 |
[0-9a-f ]*: 60 00 00 00 nop |
[0-9a-f ]*: 49 bf 00 21 bl .* |
[0-9a-f ]*: R_PPC64_REL24 \.text\+0x57e0024 |
[0-9a-f ]*: 60 00 00 00 nop |
[0-9a-f ]*: 00 00 00 00 \.long 0x0 |
[0-9a-f ]*: 4b ff ff e4 b .* <_start> |
\.\.\. |
|
[0-9a-f ]*<.*plt_branch.*>: |
[0-9a-f ]*: e9 62 80 00 ld r11,-32768\(r2\) |
[0-9a-f ]*: R_PPC64_TOC16_DS \*ABS\*\+0x157f00d8 |
[0-9a-f ]*: 7d 69 03 a6 mtctr r11 |
[0-9a-f ]*: 4e 80 04 20 bctr |
|
[0-9a-f ]*<.*long_branch.*>: |
[0-9a-f ]*: 49 bf 00 10 b .* <far> |
[0-9a-f ]*: R_PPC64_REL24 \*ABS\*\+0x137e00ec |
|
[0-9a-f ]*<.*plt_branch.*>: |
[0-9a-f ]*: e9 62 80 08 ld r11,-32760\(r2\) |
[0-9a-f ]*: R_PPC64_TOC16_DS \*ABS\*\+0x157f00e0 |
[0-9a-f ]*: 7d 69 03 a6 mtctr r11 |
[0-9a-f ]*: 4e 80 04 20 bctr |
\.\.\. |
|
0*137e00ec <far>: |
[0-9a-f ]*: 4e 80 00 20 blr |
\.\.\. |
|
0*13bf00d0 <far2far>: |
[0-9a-f ]*: 4e 80 00 20 blr |
\.\.\. |
|
0*157e00d4 <huge>: |
[0-9a-f ]*: 4e 80 00 20 blr |
|
Disassembly of section \.branch_lt: |
|
0*157f00d8 <\.branch_lt>: |
[0-9a-f ]*: 00 00 00 00 .* |
[0-9a-f ]*: R_PPC64_RELATIVE \*ABS\*\+0x13bf00d0 |
[0-9a-f ]*: 13 bf 00 d0 .* |
[0-9a-f ]*: 00 00 00 00 .* |
[0-9a-f ]*: R_PPC64_RELATIVE \*ABS\*\+0x157e00d4 |
[0-9a-f ]*: 15 7e 00 d4 .* |
/tlsso.g
0,0 → 1,15
#source: tls.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#objdump: -sj.got |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
.* 00000000 00018778 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
/sdalib.s
0,0 → 1,5
.globl lib_var |
.type lib_var, @object |
.size lib_var, 2 |
lib_var: |
.word 1 |
/vxworks2-static.sd
0,0 → 1,9
#... |
Elf file type is EXEC \(Executable file\) |
Entry point 0x80000 |
#... |
Program Headers: |
Type .* |
LOAD .* 0x00080000 0x00080000 .* R E 0x10000 |
|
#... |
/attr-gnu-4-01.d
0,0 → 1,10
#source: attr-gnu-4-0.s |
#source: attr-gnu-4-1.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_FP: Hard float |
/attr-gnu-4-20.d
0,0 → 1,10
#source: attr-gnu-4-2.s |
#source: attr-gnu-4-0.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_FP: Soft float |
/tls.s
0,0 → 1,92
.section ".tbss","awT",@nobits |
.global _start,gd0,ld0,ld1,ld2,ie0,le0,le1 |
.align 3 |
gd0: .space 8 |
ld0: .space 8 |
ld1: .space 8 |
ld2: .space 8 |
ie0: .space 8 |
le0: .space 8 |
le1: .space 8 |
|
.section ".tdata","awT",@progbits |
.align 3 |
gd4: .quad 0x123456789abcdef0 |
ld4: .quad 0x23456789abcdef01 |
ld5: .quad 0x3456789abcdef012 |
ld6: .quad 0x456789abcdef0123 |
ie4: .quad 0x56789abcdef01234 |
le4: .quad 0x6789abcdef012345 |
le5: .quad 0x789abcdef0123456 |
|
.text |
_start: |
#extern syms |
#GD |
addi 3,2,gd@got@tlsgd #R_PPC64_GOT_TLSGD16 gd |
bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr |
nop |
|
#LD |
addi 3,2,ld@got@tlsld #R_PPC64_GOT_TLSLD16 ld |
bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr |
nop |
|
#global syms |
#GD |
addi 3,2,gd0@got@tlsgd #R_PPC64_GOT_TLSGD16 gd0 |
bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr |
nop |
|
#LD |
addi 3,2,ld0@got@tlsld #R_PPC64_GOT_TLSLD16 ld0 |
bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr |
nop |
|
addi 9,3,ld0@dtprel #R_PPC64_DTPREL16 ld0 |
|
addis 9,3,ld1@dtprel@ha #R_PPC64_DTPREL16_HA ld1 |
lwz 10,ld1@dtprel@l(9) #R_PPC64_DTPREL16_LO ld1 |
|
ld 9,ld2@got@dtprel(2) #R_PPC64_GOT_DTPREL16_DS ld2 |
ldx 10,9,3 |
|
#IE |
ld 9,ie0@got@tprel(2) #R_PPC64_GOT_TPREL16_DS ie0 |
lhzx 10,9,ie0@tls #R_PPC64_TLS ie0 |
|
#LE |
lbz 10,le0@tprel(13) #R_PPC64_TPREL16 le0 |
|
addis 9,13,le1@tprel@ha #R_PPC64_TPREL16_HA le1 |
stb 10,le1@tprel@l(9) #R_PPC64_TPREL16_LO le1 |
|
#local syms |
#GD |
addi 3,2,gd4@got@tlsgd #R_PPC64_GOT_TLSGD16 gd4 |
bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr |
nop |
|
#LD |
addi 3,2,ld4@got@tlsld #R_PPC64_GOT_TLSLD16 ld4 |
bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr |
nop |
|
std 10,ld4@dtprel(3) #R_PPC64_DTPREL16_DS ld4 |
|
addis 9,3,ld5@dtprel@ha #R_PPC64_DTPREL16_HA ld5 |
stw 10,ld5@dtprel@l(9) #R_PPC64_DTPREL16_LO ld5 |
|
ld 9,ld6@got@dtprel(2) #R_PPC64_GOT_DTPREL16_DS ld6 |
stdx 10,9,3 |
|
#IE |
ld 9,ie0@got@tprel(2) #R_PPC64_GOT_TPREL16_DS ie4 |
sthx 10,9,ie0@tls #R_PPC64_TLS ie4 |
|
#LE |
lwa 10,le4@tprel(13) #R_PPC64_TPREL16 le4 |
|
addis 9,13,le5@tprel@ha #R_PPC64_TPREL16_HA le5 |
lha 10,le5@tprel@l(9) #R_PPC64_TPREL16_LO le5 |
|
/sdadyn.d
0,0 → 1,8
|
.*: +file format elf32-powerpc |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
#... |
.* R_PPC_COPY lib_var |
#pass |
/tlsso.r
0,0 → 1,127
#source: tls.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#readelf: -WSsrl |
#target: powerpc64*-*-* |
|
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: |
|
Section Headers: |
+\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al |
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 |
+\[[ 0-9]+\] \.hash .* |
+\[[ 0-9]+\] \.dynsym .* |
+\[[ 0-9]+\] \.dynstr .* |
+\[[ 0-9]+\] \.rela\.dyn .* |
+\[[ 0-9]+\] \.rela\.plt .* |
+\[[ 0-9]+\] \.text .* |
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic .* |
+\[[ 0-9]+\] \.branch_lt .* |
+\[[ 0-9]+\] \.got .* |
+\[[ 0-9]+\] \.plt .* |
+\[[ 0-9]+\] \.shstrtab .* |
+\[[ 0-9]+\] \.symtab .* |
+\[[ 0-9]+\] \.strtab .* |
#... |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x[0-9a-f]+ |
There are [0-9]+ program headers, starting at offset [0-9]+ |
|
Program Headers: |
+Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align |
+LOAD .* R E 0x10000 |
+LOAD .* RW +0x10000 |
+DYNAMIC .* RW +0x8 |
+TLS .* 0x0+38 0x0+70 R +0x8 |
|
Section to Segment mapping: |
+Segment Sections\.\.\. |
+0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+01 +\.tdata \.dynamic \.got \.plt |
+02 +\.dynamic |
+03 +\.tdata \.tbss |
|
Relocation section '\.rela\.dyn' at offset .* contains 16 entries: |
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0 |
[0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0 |
[0-9a-f ]+R_PPC64_TPREL16_LO +0+68 le1 \+ 0 |
[0-9a-f ]+R_PPC64_TPREL16_DS +0+105f0 \.tdata \+ 28 |
[0-9a-f ]+R_PPC64_TPREL16_HA +0+105f0 \.tdata \+ 30 |
[0-9a-f ]+R_PPC64_TPREL16_LO +0+105f0 \.tdata \+ 30 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ |
[0-9a-f ]+R_PPC64_DTPREL64 +0+ |
[0-9a-f ]+R_PPC64_DTPREL64 +0+18 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+ gd \+ 0 |
[0-9a-f ]+R_PPC64_DTPREL64 +0+ gd \+ 0 |
[0-9a-f ]+R_PPC64_DTPREL64 +0+50 ld2 \+ 0 |
[0-9a-f ]+R_PPC64_DTPMOD64 +0+38 gd0 \+ 0 |
[0-9a-f ]+R_PPC64_DTPREL64 +0+38 gd0 \+ 0 |
[0-9a-f ]+R_PPC64_TPREL64 +0+58 ie0 \+ 0 |
|
Relocation section '\.rela\.plt' at offset .* contains 1 entries: |
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend |
[0-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0 |
|
Symbol table '\.dynsym' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +8 le0 |
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +8 ld0 |
.* TLS +GLOBAL DEFAULT +8 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +6 _start |
.* TLS +GLOBAL DEFAULT +8 ld2 |
.* TLS +GLOBAL DEFAULT +8 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +8 gd0 |
.* TLS +GLOBAL DEFAULT +8 ie0 |
|
Symbol table '\.symtab' contains [0-9]+ entries: |
+Num: +Value +Size Type +Bind +Vis +Ndx Name |
.* NOTYPE +LOCAL +DEFAULT +UND |
.* SECTION LOCAL +DEFAULT +1 |
.* SECTION LOCAL +DEFAULT +2 |
.* SECTION LOCAL +DEFAULT +3 |
.* SECTION LOCAL +DEFAULT +4 |
.* SECTION LOCAL +DEFAULT +5 |
.* SECTION LOCAL +DEFAULT +6 |
.* SECTION LOCAL +DEFAULT +7 |
.* SECTION LOCAL +DEFAULT +8 |
.* SECTION LOCAL +DEFAULT +9 |
.* SECTION LOCAL +DEFAULT +10 |
.* SECTION LOCAL +DEFAULT +11 |
.* SECTION LOCAL +DEFAULT +12 |
.* TLS +LOCAL +DEFAULT +7 gd4 |
.* TLS +LOCAL +DEFAULT +7 ld4 |
.* TLS +LOCAL +DEFAULT +7 ld5 |
.* TLS +LOCAL +DEFAULT +7 ld6 |
.* TLS +LOCAL +DEFAULT +7 ie4 |
.* TLS +LOCAL +DEFAULT +7 le4 |
.* TLS +LOCAL +DEFAULT +7 le5 |
.* OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC |
.* NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr |
.* TLS +GLOBAL DEFAULT +UND gd |
.* TLS +GLOBAL DEFAULT +8 le0 |
.* NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr |
.* TLS +GLOBAL DEFAULT +8 ld0 |
.* TLS +GLOBAL DEFAULT +8 le1 |
.* TLS +GLOBAL DEFAULT +UND ld |
.* NOTYPE +GLOBAL DEFAULT +6 _start |
.* TLS +GLOBAL DEFAULT +8 ld2 |
.* TLS +GLOBAL DEFAULT +8 ld1 |
.* NOTYPE +GLOBAL DEFAULT +ABS __bss_start |
.* NOTYPE +GLOBAL DEFAULT +ABS _edata |
.* NOTYPE +GLOBAL DEFAULT +ABS _end |
.* TLS +GLOBAL DEFAULT +8 gd0 |
.* TLS +GLOBAL DEFAULT +8 ie0 |
/tls.t
0,0 → 1,14
#source: tls.s |
#source: tlslib.s |
#as: -a64 |
#ld: -melf64ppc |
#objdump: -sj.tdata |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.tdata: |
.* 12345678 9abcdef0 23456789 abcdef01 .* |
.* 3456789a bcdef012 456789ab cdef0123 .* |
.* 56789abc def01234 6789abcd ef012345 .* |
.* 789abcde f0123456 00c0ffee .* |
/vxworks1.s
0,0 → 1,14
.text |
.globl _start |
.type _start,@function |
_start: |
bl foo@plt |
bl sexternal@plt |
bl sglobal@plt |
.size _start, .-_start |
|
.globl sexternal |
.type sexternal,@function |
sexternal: |
blr |
.size sexternal, .-sexternal |
/reloc.s
0,0 → 1,9
.section echidna |
.long .text |
|
.section platypus,"ax" |
.long .text |
|
.text |
b _start@plt |
nop |
/attr-gnu-4-22.d
0,0 → 1,10
#source: attr-gnu-4-2.s |
#source: attr-gnu-4-2.s |
#as: -a32 |
#ld: -r -melf32ppc |
#readelf: -A |
#target: powerpc*-*-* |
|
Attribute Section: gnu |
File Attributes |
Tag_GNU_Power_ABI_FP: Soft float |
/tlsso.t
0,0 → 1,13
#source: tls.s |
#as: -a64 |
#ld: -shared -melf64ppc |
#objdump: -sj.tdata |
#target: powerpc64*-*-* |
|
.*: +file format elf64-powerpc |
|
Contents of section \.tdata: |
.* 12345678 9abcdef0 23456789 abcdef01 .* |
.* 3456789a bcdef012 456789ab cdef0123 .* |
.* 56789abc def01234 6789abcd ef012345 .* |
.* 789abcde f0123456 .* |
/relbrlt.s
0,0 → 1,34
.text |
.global _start |
_start: |
1: |
bl far |
nop |
bl far2far |
nop |
bl huge |
nop |
.long 0 |
b 1b |
.space 0x1bf0000 |
|
.section .text.pad1,"ax" |
.space 0x1bf0000 |
|
.section .text.far,"ax" |
far: |
blr |
|
.section .text.pad2,"ax" |
.space 0x40ffe0 |
|
.section .text.far2far,"ax" |
far2far: |
blr |
|
.section .text.pad3,"ax" |
.space 0x1bf0000 |
|
.section .text.huge,"ax" |
huge: |
blr |
/vxworks1.rd
0,0 → 1,22
|
Relocation section '\.rela\.plt' at offset .* contains 2 entries: |
Offset Info Type Sym\.Value Sym\. Name \+ Addend |
0009040c .*15 R_PPC_JMP_SLOT 00080820 sglobal \+ 0 |
00090410 .*15 R_PPC_JMP_SLOT 00080840 foo \+ 0 |
|
Relocation section '\.rela\.text' at offset .* contains 3 entries: |
Offset Info Type Sym\.Value Sym\. Name \+ Addend |
00080c00 .*12 R_PPC_PLTREL24 00080800 \.plt \+ 40 |
00080c04 .*12 R_PPC_PLTREL24 00080c0c sexternal \+ 0 |
00080c08 .*12 R_PPC_PLTREL24 00080800 \.plt \+ 20 |
|
Relocation section '\.rela\.plt\.unloaded' at offset .* contains 8 entries: |
Offset Info Type Sym\.Value Sym\. Name \+ Addend |
00080802 .*06 R_PPC_ADDR16_HA 00090400 _GLOBAL_OFFSET_TABLE_ \+ 0 |
00080806 .*04 R_PPC_ADDR16_LO 00090400 _GLOBAL_OFFSET_TABLE_ \+ 0 |
00080822 .*06 R_PPC_ADDR16_HA 00090400 _GLOBAL_OFFSET_TABLE_ \+ c |
00080826 .*04 R_PPC_ADDR16_LO 00090400 _GLOBAL_OFFSET_TABLE_ \+ c |
0009040c .*01 R_PPC_ADDR32 00080800 _PROCEDURE_LINKAGE_TAB.* \+ 30 |
00080842 .*06 R_PPC_ADDR16_HA 00090400 _GLOBAL_OFFSET_TABLE_ \+ 10 |
00080846 .*04 R_PPC_ADDR16_LO 00090400 _GLOBAL_OFFSET_TABLE_ \+ 10 |
00090410 .*01 R_PPC_ADDR32 00080800 _PROCEDURE_LINKAGE_TAB.* \+ 50 |
/vxworks2.sd
0,0 → 1,13
#... |
Elf file type is EXEC \(Executable file\) |
Entry point 0x80400 |
#... |
Program Headers: |
Type .* |
PHDR .* |
#... |
LOAD .* 0x00080000 0x00080000 .* R E 0x10000 |
LOAD .* 0x00090000 0x00090000 .* RW 0x10000 |
DYNAMIC .* |
|
#... |
/vxworks1-lib.sd
0,0 → 1,12
#... |
Program Headers: |
Type .* Flg Align |
LOAD .* R E 0x10000 |
LOAD .* RW 0x10000 |
DYNAMIC .* RW 0x4 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 .* \.plt .* |
01 .* \.got .* |
02 .* \.dynamic $ |