URL
https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk
Subversion Repositories open8_urisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/open8_urisc/trunk/gnu/binutils
- from Rev 116 to Rev 117
- ↔ Reverse comparison
Rev 116 → Rev 117
/ld/testsuite/ld-tic6x/attr-array-8-416.d
0,0 → 1,10
#name: C6X array attribute merging, 8 416 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-8.s |
#source: attr-array-416.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-pid-21.d
0,0 → 1,11
#name: C6X PID attribute merging, 2 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-2.s |
#source: attr-pid-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_PID: Data addressing position-independent, GOT near DP |
/ld/testsuite/ld-tic6x/mvk-reloc-local-r-rel.d
0,0 → 1,23
#name: C6X MVK relocations, local symbols, -r, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -r -melf32_tic6x_le |
#source: mvk-reloc-local-1-rel.s |
#source: mvk-reloc-local-2-rel.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*0: R_C6000_ABS_S16[ \t]+\.data |
[ \t]*4:[ \t]+01000228[ \t]+mvk \.S1 4,a2 |
[ \t]*4: R_C6000_ABS_L16[ \t]+\.data |
[ \t]*\.\.\. |
[ \t]*20:[ \t]+00800628[ \t]+mvk \.S1 12,a1 |
[ \t]*20: R_C6000_ABS_S16[ \t]+\.data |
[ \t]*24:[ \t]+01000828[ \t]+mvk \.S1 16,a2 |
[ \t]*24: R_C6000_ABS_L16[ \t]+\.data |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/weak.s
0,0 → 1,19
.weak g |
.weak g1 |
.text |
b .s2 g |
[a2] b .s2 g |
b .s2 g |
|| mvk .s1 0, a1 |
ldw .d2t2 *+B14(g1), B1 |
mvkl .s1 g, a1 |
mvkh .s1 g, a1 |
|
.section .data,"aw",@progbits |
.align 2 |
.type a, @object |
.size a, 4 |
a: |
.long g1 |
.short g1 |
.byte g1 |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s10.s
0,0 → 1,3
.text |
.nocmp |
bdec .S2 s,b1 |
/ld/testsuite/ld-tic6x/attr-array-8-816.d
0,0 → 1,10
#name: C6X array attribute merging, 8 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-8.s |
#source: attr-array-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-unknown-1024-1.s
0,0 → 1,10
.c6xabi_attribute 1024, 1 |
/ld/testsuite/ld-tic6x/attr-array-48-48.d
0,0 → 1,11
#name: C6X array attribute merging, 48 48 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-48.s |
#source: attr-array-48.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/reloc-overflow-abs-s16-2.d
0,0 → 1,5
#name: C6X relocation underflow, ABS_S16 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0xffff7fff |
#source: reloc-overflow-abs-s16.s |
#error: .*relocation truncated to fit: R_C6000_ABS_S16.* |
/ld/testsuite/ld-tic6x/ehtype-reloc-1-rel.d
0,0 → 1,14
#name: EHTYPE relocations (REL) |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le --defsym s1=0x2a -Tdsbt-inrange.ld |
#source: ehtype-reloc-1.s |
#objdump: -s -j.data -j.text -j.got |
|
.*: *file format elf32-tic6x-le |
|
Contents of section .data: |
8018 78563412 .* |
Contents of section .text: |
10000000 08000000 0c000000 .* |
Contents of section .got: |
2001fff4 00000000 00000000 2a000000 18800000 .* |
/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x+ c64x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x+.s |
#source: attr-arch-c64x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x\+ |
/ld/testsuite/ld-tic6x/sbr-reloc-local-r.d
0,0 → 1,67
#name: C6X SB-relative relocations, local symbols, -r |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: sbr-reloc-local-1.s |
#source: sbr-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
[ \t]*0: R_C6000_SBR_U15_W[ \t]+\.data |
[ \t]*4:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
[ \t]*4: R_C6000_SBR_U15_W[ \t]+\.data\+0x4 |
[ \t]*8:[ \t]+0080004e[ \t]+ldh \.D2T2 \*\+b14\(0\),b1 |
[ \t]*8: R_C6000_SBR_U15_H[ \t]+\.data\+0x4 |
[ \t]*c:[ \t]+0080004e[ \t]+ldh \.D2T2 \*\+b14\(0\),b1 |
[ \t]*c: R_C6000_SBR_U15_H[ \t]+\.data\+0x6 |
[ \t]*10:[ \t]+0080002e[ \t]+ldb \.D2T2 \*\+b14\(0\),b1 |
[ \t]*10: R_C6000_SBR_U15_B[ \t]+\.data\+0x6 |
[ \t]*14:[ \t]+0080002e[ \t]+ldb \.D2T2 \*\+b14\(0\),b1 |
[ \t]*14: R_C6000_SBR_U15_B[ \t]+\.data\+0x7 |
[ \t]*18:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*18: R_C6000_SBR_S16[ \t]+\.data\+0x7 |
[ \t]*1c:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*1c: R_C6000_SBR_L16_B[ \t]+\.data\+0x6 |
[ \t]*20:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*20: R_C6000_SBR_H16_B[ \t]+\.data\+0x7 |
[ \t]*24:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*24: R_C6000_SBR_L16_H[ \t]+\.data\+0x4 |
[ \t]*28:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*28: R_C6000_SBR_H16_H[ \t]+\.data\+0x6 |
[ \t]*2c:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*2c: R_C6000_SBR_L16_W[ \t]+\.data |
[ \t]*30:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*30: R_C6000_SBR_H16_W[ \t]+\.data\+0x4 |
[ \t]*\.\.\. |
[ \t]*40:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
[ \t]*40: R_C6000_SBR_U15_W[ \t]+\.data\+0x8 |
[ \t]*44:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
[ \t]*44: R_C6000_SBR_U15_W[ \t]+\.data\+0xc |
[ \t]*48:[ \t]+0080004e[ \t]+ldh \.D2T2 \*\+b14\(0\),b1 |
[ \t]*48: R_C6000_SBR_U15_H[ \t]+\.data\+0xc |
[ \t]*4c:[ \t]+0080004e[ \t]+ldh \.D2T2 \*\+b14\(0\),b1 |
[ \t]*4c: R_C6000_SBR_U15_H[ \t]+\.data\+0xe |
[ \t]*50:[ \t]+0080002e[ \t]+ldb \.D2T2 \*\+b14\(0\),b1 |
[ \t]*50: R_C6000_SBR_U15_B[ \t]+\.data\+0xe |
[ \t]*54:[ \t]+0080002e[ \t]+ldb \.D2T2 \*\+b14\(0\),b1 |
[ \t]*54: R_C6000_SBR_U15_B[ \t]+\.data\+0xf |
[ \t]*58:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*58: R_C6000_SBR_S16[ \t]+\.data\+0xf |
[ \t]*5c:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*5c: R_C6000_SBR_L16_B[ \t]+\.data\+0xe |
[ \t]*60:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*60: R_C6000_SBR_H16_B[ \t]+\.data\+0xf |
[ \t]*64:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*64: R_C6000_SBR_L16_H[ \t]+\.data\+0xc |
[ \t]*68:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*68: R_C6000_SBR_H16_H[ \t]+\.data\+0xe |
[ \t]*6c:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*6c: R_C6000_SBR_L16_W[ \t]+\.data\+0x8 |
[ \t]*70:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*70: R_C6000_SBR_H16_W[ \t]+\.data\+0xc |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-array-16-416.d
0,0 → 1,12
#name: C6X array attribute merging, 16 416 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-16.s |
#source: attr-array-416.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
Tag_ABI_array_object_align_expected: 16-byte |
/ld/testsuite/ld-tic6x/attr-dsbt-01.d
0,0 → 1,6
#name: C6X DSBT attribute merging, 0 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-dsbt-0.s |
#source: attr-dsbt-1.s |
#warning: .*differ in whether code is compiled for DSBT |
/ld/testsuite/ld-tic6x/shlib-1.sd
0,0 → 1,7
|
tmpdir/libtest\.so: file format elf32-tic6x-le |
|
Contents of section \.got: |
[ \t]*10000100 00000000 00000000 00000000 00000000 .* |
[ \t]*10000110 00000000 20000010 20000010 00000000 .* |
[ \t]*10000120 30010010 00000000 .* |
/ld/testsuite/ld-tic6x/data-reloc-local-rel.d
0,0 → 1,12
#name: C6X data relocations, local symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tgeneric.ld |
#source: data-reloc-local-1.s |
#source: data-reloc-local-2.s |
#objdump: -r -s -j .data |
|
.*: *file format elf32-tic6x-le |
|
Contents of section \.data: |
[ \t]*0080 80000000 84000000 8c000000 88000000 .* |
[ \t]*0090 8c00888c .* |
/ld/testsuite/ld-tic6x/attr-array-16-816.d
0,0 → 1,12
#name: C6X array attribute merging, 16 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-16.s |
#source: attr-array-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
Tag_ABI_array_object_align_expected: 16-byte |
/ld/testsuite/ld-tic6x/dsbt-inrange.ld
0,0 → 1,68
EXTERN (__c6xabi_DSBT_BASE); |
SECTIONS |
{ |
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x0)); . = SEGMENT_START("text-segment", 0x0) + SIZEOF_HEADERS; |
. = 0x8000; |
.hash : { *(.hash) } |
.gnu.hash : { *(.gnu.hash) } |
.dynsym : { *(.dynsym) } |
.dynstr : { *(.dynstr) } |
.gnu.version : { *(.gnu.version) } |
.gnu.version_d : { *(.gnu.version_d) } |
.gnu.version_r : { *(.gnu.version_r) } |
.rel.init : { *(.rel.init) } |
.rela.init : { *(.rela.init) } |
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } |
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } |
.rel.fini : { *(.rel.fini) } |
.rela.fini : { *(.rela.fini) } |
.rel.const : { *(.rel.const .rel.const.* .rel.gnu.linkonce.r.*) } |
.rela.const : { *(.rela.const .rela.const.* .rela.gnu.linkonce.r.*) } |
.rel.rodata : { *(.rel.rodata .rel.rodata.*) } |
.rela.rodata : { *(.rela.rodata .rela.rodata.*) } |
.rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } |
.rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } |
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } |
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } |
.rel.fardata : { *(.rel.fardata .rel.fardata.*) } |
.rela.fardata : { *(.rela.fardata .rela.fardata.*) } |
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } |
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } |
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } |
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } |
.rel.ctors : { *(.rel.ctors) } |
.rela.ctors : { *(.rela.ctors) } |
.rel.dtors : { *(.rel.dtors) } |
.rela.dtors : { *(.rela.dtors) } |
.rel.got : { *(.rel.got) } |
.rela.got : { *(.rela.got) } |
.rel.neardata : { *(.rel.neardata .rel.neardata.* .rel.gnu.linkonce.s.*) } |
.rela.neardata : { *(.rela.neardata .rela.neardata.* .rela.gnu.linkonce.s.*) } |
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.sb.*) } |
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.sb.*) } |
.rel.neardata2 : { *(.rel.neardata2 .rel.neardata2.* .rel.gnu.linkonce.s2.*) } |
.rela.neardata2 : { *(.rela.neardata2 .rela.neardata2.* .rela.gnu.linkonce.s2.*) } |
.rel.bss2 : { *(.rel.bss2 .rel.bss2.* .rel.gnu.linkonce.sb2.*) } |
.rela.bss2 : { *(.rela.bss2 .rela.bss2.* .rela.gnu.linkonce.sb2.*) } |
.rel.far : { *(.rel.far .rel.far.* .rel.gnu.linkonce.b.*) } |
.rela.far : { *(.rela.far .rela.far.* .rela.gnu.linkonce.b.*) } |
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } |
.dynamic : { *(.dynamic) } |
.data : { *(.data*) } |
. = 0x10000000; |
.rel.plt : { *(.rel.plt) } |
.rela.plt : { *(.rela.plt) } |
.plt : { *(.plt) } |
.text : { *(.text*) } |
. = 0x20000000; |
PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); |
.dsbt : { *(.dsbt) } |
. = 0x2001fff4; |
.got : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) } |
.neardata : { *(.neardata .neardata.* .gnu.linkonce.s.*) } |
.rodata : { *(.rodata .rodata.*) } |
.bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.sb.*) *(.scommon) } |
.far : { *(.dynfar) *(.far .far.* .gnu.linkonce.b.*) *(COMMON) } |
.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) } |
/DISCARD/ : { *(*) } |
} |
/ld/testsuite/ld-tic6x/attr-unknown-55-a.s
0,0 → 1,68
.c6xabi_attribute 55, "a" |
/ld/testsuite/ld-tic6x/shlib-app-1.s
0,0 → 1,31
.global a |
.text |
.nocmp |
fish: |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
callp .s2 sub0, B3 |
b .s2 sub0 |
callp .s2 fish, B3 |
b .s2 fish |
ldw .d2t2 *+B14(a), B4 |
ldw .d2t2 *+B14(b), B5 |
ldw .d2t2 *+B14($GOT(a)), B6 |
ldw .d2t2 *+B14($GOT(b)), B6 |
mvkl .s1 $DPR_GOT(a), A4 |
mvkh .s1 $DPR_GOT(a), A4 |
mvkl .s1 $DPR_GOT(b), A5 |
mvkh .s1 $DPR_GOT(b), A5 |
.global b |
.section .neardata,"aw",@progbits |
.align 2 |
.type b, @object |
.size b, 4 |
b: |
.long 0x12345678 |
.weak g1 |
.weak g2 |
.type w, @object |
.size w, 8 |
w: |
.long g1 |
.long g2 |
/ld/testsuite/ld-tic6x/pcrel-reloc-local-r.d
0,0 → 1,62
#name: C6X PC-relative relocations, local symbols, -r |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: pcrel-reloc-local-1.s |
#source: pcrel-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00000000[ \t]+nop 1 |
[ \t]*4:[ \t]+00800162[ \t]+addkpc \.S2 0 <[^>]*>,b1,0 |
[ \t]*4: R_C6000_PCR_S7[ \t]+\.text\.1 |
[ \t]*8:[ \t]+00800162[ \t]+addkpc \.S2 0 <[^>]*>,b1,0 |
[ \t]*8: R_C6000_PCR_S7[ \t]+\.text\.1\+0x4 |
[ \t]*c:[ \t]+00000012[ \t]+b \.S2 0 <[^>]*> |
[ \t]*c: R_C6000_PCR_S21[ \t]+\.text\.1 |
[ \t]*10:[ \t]+00000012[ \t]+b \.S2 0 <[^>]*> |
[ \t]*10: R_C6000_PCR_S21[ \t]+\.text\.1\+0x4 |
[ \t]*14:[ \t]+00801022[ \t]+bdec \.S2 0 <[^>]*>,b1 |
[ \t]*14: R_C6000_PCR_S10[ \t]+\.text\.1 |
[ \t]*18:[ \t]+00801022[ \t]+bdec \.S2 0 <[^>]*>,b1 |
[ \t]*18: R_C6000_PCR_S10[ \t]+\.text\.1\+0x4 |
[ \t]*1c:[ \t]+00000122[ \t]+bnop \.S2 0 <[^>]*>,0 |
[ \t]*1c: R_C6000_PCR_S12[ \t]+\.text\.1 |
[ \t]*20:[ \t]+00000122[ \t]+bnop \.S2 20 <[^>]*>,0 |
[ \t]*20: R_C6000_PCR_S12[ \t]+\.text\.1\+0x4 |
[ \t]*\.\.\. |
[ \t]*44:[ \t]+00000122[ \t]+bnop \.S2 40 <[^>]*>,0 |
[ \t]*44: R_C6000_PCR_S12[ \t]+\.text\.1\+0x20 |
[ \t]*48:[ \t]+00000122[ \t]+bnop \.S2 40 <[^>]*>,0 |
[ \t]*48: R_C6000_PCR_S12[ \t]+\.text\.1\+0x24 |
[ \t]*4c:[ \t]+00801022[ \t]+bdec \.S2 40 <[^>]*>,b1 |
[ \t]*4c: R_C6000_PCR_S10[ \t]+\.text\.1\+0x20 |
[ \t]*50:[ \t]+00801022[ \t]+bdec \.S2 40 <[^>]*>,b1 |
[ \t]*50: R_C6000_PCR_S10[ \t]+\.text\.1\+0x24 |
[ \t]*54:[ \t]+00000012[ \t]+b \.S2 40 <[^>]*> |
[ \t]*54: R_C6000_PCR_S21[ \t]+\.text\.1\+0x20 |
[ \t]*58:[ \t]+00000012[ \t]+b \.S2 40 <[^>]*> |
[ \t]*58: R_C6000_PCR_S21[ \t]+\.text\.1\+0x24 |
[ \t]*5c:[ \t]+00800162[ \t]+addkpc \.S2 40 <[^>]*>,b1,0 |
[ \t]*5c: R_C6000_PCR_S7[ \t]+\.text\.1\+0x20 |
[ \t]*60:[ \t]+00800162[ \t]+addkpc \.S2 60 <[^>]*>,b1,0 |
[ \t]*60: R_C6000_PCR_S7[ \t]+\.text\.1\+0x24 |
[ \t]*\.\.\. |
|
Disassembly of section \.text\.1: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00000000[ \t]+nop 1 |
|
0+4 <[^>]*>: |
[ \t]*\.\.\. |
|
0+20 <[^>]*>: |
[ \t]*20:[ \t]+00000000[ \t]+nop 1 |
|
0+24 <[^>]*>: |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/pcrel-reloc-local.d
0,0 → 1,44
#name: C6X PC-relative relocations, local symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld |
#source: pcrel-reloc-local-1.s |
#source: pcrel-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00000000[ \t]+nop 1 |
10000004:[ \t]+00900162[ \t]+addkpc \.S2 10000040 <[^>]*>,b1,0 |
10000008:[ \t]+00910162[ \t]+addkpc \.S2 10000044 <[^>]*>,b1,0 |
1000000c:[ \t]+00000812[ \t]+b \.S2 10000040 <[^>]*> |
10000010:[ \t]+00000892[ \t]+b \.S2 10000044 <[^>]*> |
10000014:[ \t]+00821022[ \t]+bdec \.S2 10000040 <[^>]*>,b1 |
10000018:[ \t]+00823022[ \t]+bdec \.S2 10000044 <[^>]*>,b1 |
1000001c:[ \t]+00100122[ \t]+bnop \.S2 10000040 <[^>]*>,0 |
10000020:[ \t]+00090122[ \t]+bnop \.S2 10000044 <[^>]*>,0 |
[ \t]*\.\.\. |
|
10000040 <[^>]*>: |
10000040:[ \t]+00000000[ \t]+nop 1 |
|
10000044 <[^>]*>: |
[ \t]*\.\.\. |
10000064:[ \t]+00100122[ \t]+bnop \.S2 100000a0 <[^>]*>,0 |
10000068:[ \t]+00110122[ \t]+bnop \.S2 100000a4 <[^>]*>,0 |
1000006c:[ \t]+00821022[ \t]+bdec \.S2 100000a0 <[^>]*>,b1 |
10000070:[ \t]+00823022[ \t]+bdec \.S2 100000a4 <[^>]*>,b1 |
10000074:[ \t]+00000812[ \t]+b \.S2 100000a0 <[^>]*> |
10000078:[ \t]+00000892[ \t]+b \.S2 100000a4 <[^>]*> |
1000007c:[ \t]+00900162[ \t]+addkpc \.S2 100000a0 <[^>]*>,b1,0 |
10000080:[ \t]+00890162[ \t]+addkpc \.S2 100000a4 <[^>]*>,b1,0 |
[ \t]*\.\.\. |
|
100000a0 <[^>]*>: |
100000a0:[ \t]+00000000[ \t]+nop 1 |
|
100000a4 <[^>]*>: |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-pic-0.s
0,0 → 1,44
.c6xabi_attribute Tag_ABI_PIC, 0 |
/ld/testsuite/ld-tic6x/attr-conformance-11-11.d
0,0 → 1,11
#name: C6X conformance attribute merging, 11 11 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-11.s |
#source: attr-conformance-11.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ABI_conformance: "1.1" |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/shlib-1.dd
0,0 → 1,67
|
tmpdir/libtest\.so: file format elf32-tic6x-le |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
|
10000050 <sub@plt>: |
10000050:[ \t]*0100066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b2 |
10000054:[ \t]*0000062a[ \t]*mvk \.S2 12,b0 |
10000058:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
1000005c:[ \t]*00002000[ \t]*nop 2 |
10000060:[ \t]*00080362[ \t]*b \.S2 b2 |
10000064:[ \t]*00008000[ \t]*nop 5 |
\.\.\. |
|
Disassembly of section \.text: |
|
10000080 <sub1>: |
10000080:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000084:[ \t]*00008000[ \t]*nop 5 |
|
10000088 <sub0>: |
10000088:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000008c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000090:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000094:[ \t]*0700026e[ \t]*ldw \.D2T2 \*\+b14\(8\),b14 |
10000098:[ \t]*0ffffa12[ \t]*b \.S2 10000050 <sub@plt> |
1000009c:[ \t]*0ffff712[ \t]*b \.S2 10000038 <sub0@plt> |
100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1> |
100000a4:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
100000a8:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
100000ac:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
100000b0:[ \t]*00004000[ \t]*nop 3 |
100000b4:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000b8:[ \t]*00008000[ \t]*nop 5 |
100000bc:[ \t]*00000000[ \t]*nop 1 |
|
100000c0 <sub>: |
100000c0:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
100000c4:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
100000c8:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
100000cc:[ \t]*00006000[ \t]*nop 4 |
100000d0:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
100000d4:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
100000d8:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
100000dc:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000e0:[ \t]*0300096e[ \t]*ldw \.D2T2 \*\+b14\(36\),b6 |
100000e4:[ \t]*0380076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b7 |
100000e8:[ \t]*0400086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b8 |
100000ec:[ \t]*04800c6e[ \t]*ldw \.D2T2 \*\+b14\(48\),b9 |
\.\.\. |
/ld/testsuite/ld-tic6x/unwind-3.d
0,0 → 1,11
#ld: -T unwind.ld |
#objdump: -s |
|
.*: file format.* |
|
#... |
Contents of section .c6xabi.exidx: |
9000 (00f8ff7f 07020083 1cf8ff7f 01000000|7ffff800 83000207 7ffff81c 00000001) .* |
9010 (38f8ff7f 07040083 54f8ff7f 01000000|7ffff838 82000407 7ffff854 00000001) .* |
Contents of section .far: |
#... |
/ld/testsuite/ld-tic6x/attr-unknown-6.d
0,0 → 1,11
#name: C6X unknown attribute merging 6 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-unknown-1000-1.s |
#source: attr-unknown-1000-2.s |
#warning: .*warning: unknown EABI object attribute 1000 |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-4-16.d
0,0 → 1,6
#name: C6X array attribute merging, 4 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-4.s |
#source: attr-array-16.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/attr-stack-816-16.d
0,0 → 1,12
#name: C6X stack attribute merging, 816 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-816.s |
#source: attr-stack-16.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_stack_align_needed: 16-byte |
Tag_ABI_stack_align_preserved: 16-byte |
/ld/testsuite/ld-tic6x/attr-dsbt-10.d
0,0 → 1,6
#name: C6X DSBT attribute merging, 1 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-dsbt-1.s |
#source: attr-dsbt-0.s |
#warning: .*differ in whether code is compiled for DSBT |
/ld/testsuite/ld-tic6x/unwind-3.s
0,0 → 1,39
.cfi_sections .c6xabi.exidx |
.text |
# section without unwind info |
.global _start |
.type _start, %function |
_start: |
b .s2 _before |
nop 5 |
.p2align 6 |
|
# Section that will be placed first |
.section .before, "xa" |
.type _before, %function |
_before: |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.endp |
|
# section that will be placed last |
.section .after, "xa" |
.global __c6xabi_unwind_cpp_pr3 |
.type __c6xabi_unwind_cpp_pr3, %function |
__c6xabi_unwind_cpp_pr3: |
.cfi_startproc |
.cfi_offset B10, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.endp |
|
.section .far |
.word 0 |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-w.s
0,0 → 1,3
.text |
.nocmp |
ldw .D2T2 *+b14(s),b1 |
/ld/testsuite/ld-tic6x/attr-array-48-416.d
0,0 → 1,11
#name: C6X array attribute merging, 48 416 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-48.s |
#source: attr-array-416.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/data-reloc-global-rel.d
0,0 → 1,11
#name: C6X data relocations, global symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s0=0 --defsym sff=0xff --defsym sffff=0xffff --defsym s80000000=0x80000000 --defsym sffff8000=0xffff8000 --defsym sffffff80=0xffffff80 --defsym sffffffff=0xffffffff |
#source: data-reloc-global-rel.s |
#objdump: -r -s -j .data |
|
.*: *file format elf32-tic6x-le |
|
Contents of section \.data: |
[ \t]*0080 00000080 ffffffff 00000000 feffffff \.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. |
[ \t]*0090 00000000 ffffffff 00800080 ffff8080 \.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. |
/ld/testsuite/ld-tic6x/attr-array-48-816.d
0,0 → 1,10
#name: C6X array attribute merging, 48 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-48.s |
#source: attr-array-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-816-48.d
0,0 → 1,10
#name: C6X array attribute merging, 816 48 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-816.s |
#source: attr-array-48.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s7.s
0,0 → 1,3
.text |
.nocmp |
addkpc .S2 s,b1,0 |
/ld/testsuite/ld-tic6x/shlib-app-1.rd
0,0 → 1,127
There are 18 section headers, starting at offset 0x2168: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 00008104 001104 000035 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c A 2 11 4 |
\[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c A 2 12 4 |
\[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c A 2 13 4 |
\[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4 |
\[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 9 4 |
\[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 |
\[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 |
\[11\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4 |
\[12\] \.neardata PROGBITS 100000c0 0020c0 00000c 00 WA 0 0 4 |
\[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 |
\[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 |
\[15\] \.shstrtab STRTAB 00000000 0020e5 000080 00 0 0 1 |
\[16\] \.symtab SYMTAB 00000000 002438 0001a0 10 17 20 4 |
\[17\] \.strtab STRTAB 00000000 0025d8 000055 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000060 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x00230 0x00230 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000cc 0x000d0 RWE 0x1000 |
DYNAMIC 0x001178 0x00008178 0x00008178 0x000b8 0x000b8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.rela\.bss \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1178 contains 18 entries: |
Tag Type Name/Value |
0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtest\.so\] |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x8104 |
0x00000006 \(SYMTAB\) 0x8044 |
0x0000000a \(STRSZ\) 53 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000003 \(PLTGOT\) 0x100000ac |
0x00000002 \(PLTRELSZ\) 12 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x813c |
0x00000008 \(RELASZ\) 72 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x113c contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 |
100000bc 00000b01 R_C6000_ABS32 100000cc a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1154 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000c4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
100000c8 00000901 R_C6000_ABS32 00000000 g2 \+ 0 |
|
Relocation section '\.rela\.bss' at offset 0x116c contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000cc 00000b1a R_C6000_COPY 100000cc a \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b4 00000a1b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 |
|
Symbol table '\.dynsym' contains 12 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 9 |
2: 10000060 0 SECTION LOCAL DEFAULT 10 |
3: 100000a0 0 SECTION LOCAL DEFAULT 11 |
4: 100000c0 0 SECTION LOCAL DEFAULT 12 |
5: 100000cc 0 SECTION LOCAL DEFAULT 13 |
6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 00000000 0 OBJECT WEAK DEFAULT UND g2 |
10: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
11: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 00008044 0 SECTION LOCAL DEFAULT 2 |
3: 00008104 0 SECTION LOCAL DEFAULT 3 |
4: 0000813c 0 SECTION LOCAL DEFAULT 4 |
5: 00008154 0 SECTION LOCAL DEFAULT 5 |
6: 0000816c 0 SECTION LOCAL DEFAULT 6 |
7: 00008178 0 SECTION LOCAL DEFAULT 7 |
8: 10000000 0 SECTION LOCAL DEFAULT 8 |
9: 10000020 0 SECTION LOCAL DEFAULT 9 |
10: 10000060 0 SECTION LOCAL DEFAULT 10 |
11: 100000a0 0 SECTION LOCAL DEFAULT 11 |
12: 100000c0 0 SECTION LOCAL DEFAULT 12 |
13: 100000cc 0 SECTION LOCAL DEFAULT 13 |
14: 00000000 0 SECTION LOCAL DEFAULT 14 |
15: 10000060 0 NOTYPE LOCAL DEFAULT 10 fish |
16: 100000c4 8 OBJECT LOCAL DEFAULT 12 w |
17: 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC |
18: 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ |
19: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
20: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b |
21: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
23: 00000000 0 OBJECT WEAK DEFAULT UND g2 |
24: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
25: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a |
/ld/testsuite/ld-tic6x/got-reloc-local-1.s
0,0 → 1,8
.text |
.nocmp |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
ldw .d2t1 *+B14($GOT(a)), A1 |
|
.data |
a: |
.word 0 |
/ld/testsuite/ld-tic6x/attr-pid-22.d
0,0 → 1,11
#name: C6X PID attribute merging, 2 2 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-2.s |
#source: attr-pid-2.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_PID: Data addressing position-independent, GOT far from DP |
/ld/testsuite/ld-tic6x/attr-array-4.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_array_object_align_expected, 1 |
.c6xabi_attribute Tag_ABI_array_object_alignment, 1 |
/ld/testsuite/ld-tic6x/data-reloc-global-rel.s
0,0 → 1,21
.globl s0 |
.globl sff |
.globl sffff |
.globl s80000000 |
.globl sffff8000 |
.globl sffffff80 |
.globl sffffffff |
.data |
.word s80000000 |
.word sffffffff |
.word s0 |
.word sffffffff+0xffffffff |
.word s80000000+0x80000000 |
.short sffffffff |
.short sffff |
.short sffff8000 |
.short s0-0x8000 |
.byte sffffffff |
.byte sff |
.byte sffffff80 |
.byte s0-0x80 |
/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
0,0 → 1,115
There are 17 section headers, starting at offset 0x2158: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 000031 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 00008110 001110 000018 0c A 2 10 4 |
\[ 5\] \.rela\.bss RELA 00008128 001128 00000c 0c A 2 12 4 |
\[ 6\] \.dynamic DYNAMIC 00008134 001134 0000b8 08 WA 3 0 4 |
\[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 8 4 |
\[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 |
\[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 |
\[10\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4 |
\[11\] \.neardata PROGBITS 100000c0 0020c0 000004 00 WA 0 0 4 |
\[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 |
\[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 |
\[14\] \.shstrtab STRTAB 00000000 0020dd 00007b 00 0 0 1 |
\[15\] \.symtab SYMTAB 00000000 002400 000160 10 16 18 4 |
\[16\] \.strtab STRTAB 00000000 002560 00004d 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000060 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x001ec 0x001ec RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000c4 0x000c8 RWE 0x1000 |
DYNAMIC 0x001134 0x00008134 0x00008134 0x000b8 0x000b8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.bss \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1134 contains 18 entries: |
Tag Type Name/Value |
0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtestrb\.so\] |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x80dc |
0x00000006 \(SYMTAB\) 0x803c |
0x0000000a \(STRSZ\) 49 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000003 \(PLTGOT\) 0x100000ac |
0x00000002 \(PLTRELSZ\) 12 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x8110 |
0x00000008 \(RELASZ\) 48 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x1110 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 |
100000bc 00000901 R_C6000_ABS32 100000c4 a \+ 0 |
|
Relocation section '\.rela\.bss' at offset 0x1128 contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000c4 0000091a R_C6000_COPY 100000c4 a \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b4 0000081b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 |
|
Symbol table '\.dynsym' contains 10 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 8 |
2: 10000060 0 SECTION LOCAL DEFAULT 9 |
3: 100000a0 0 SECTION LOCAL DEFAULT 10 |
4: 100000c0 0 SECTION LOCAL DEFAULT 11 |
5: 100000c4 0 SECTION LOCAL DEFAULT 12 |
6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b |
8: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
9: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a |
|
Symbol table '\.symtab' contains 22 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 0000803c 0 SECTION LOCAL DEFAULT 2 |
3: 000080dc 0 SECTION LOCAL DEFAULT 3 |
4: 00008110 0 SECTION LOCAL DEFAULT 4 |
5: 00008128 0 SECTION LOCAL DEFAULT 5 |
6: 00008134 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 10000020 0 SECTION LOCAL DEFAULT 8 |
9: 10000060 0 SECTION LOCAL DEFAULT 9 |
10: 100000a0 0 SECTION LOCAL DEFAULT 10 |
11: 100000c0 0 SECTION LOCAL DEFAULT 11 |
12: 100000c4 0 SECTION LOCAL DEFAULT 12 |
13: 00000000 0 SECTION LOCAL DEFAULT 13 |
14: 10000060 0 NOTYPE LOCAL DEFAULT 9 fish |
15: 00008134 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC |
16: 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ |
17: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
18: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b |
19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
20: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
21: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a |
/ld/testsuite/ld-tic6x/attr-array-8-48.d
0,0 → 1,10
#name: C6X array attribute merging, 8 48 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-8.s |
#source: attr-array-48.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-arch-c67x.s
0,0 → 1,10
.arch c67x |
/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c674x c64x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c674x.s |
#source: attr-arch-c64x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/reloc-overflow-abs8-1.d
0,0 → 1,5
#name: C6X relocation overflow, ABS8 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x100 |
#source: reloc-overflow-abs8.s |
#error: .*relocation truncated to fit: R_C6000_ABS8.* |
/ld/testsuite/ld-tic6x/reloc-overflow-abs-s16.s
0,0 → 1,3
.text |
.nocmp |
mvk .S1 s,a1 |
/ld/testsuite/ld-tic6x/attr-pic-00.d
0,0 → 1,10
#name: C6X PIC attribute merging, 0 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pic-0.s |
#source: attr-pic-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-pic-1.s
0,0 → 1,10
.c6xabi_attribute Tag_ABI_PIC, 1 |
/ld/testsuite/ld-tic6x/shlib-app-1.sd
0,0 → 1,6
|
tmpdir/shlib-dynapp-1: file format elf32-tic6x-le |
|
Contents of section \.got: |
[ \t]*100000a0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000b0 00000000 20000010 00000000 00000000 .* |
/ld/testsuite/ld-tic6x/attr-array-48-16.d
0,0 → 1,6
#name: C6X array attribute merging, 48 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-48.s |
#source: attr-array-16.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-h.s
0,0 → 1,3
.text |
.nocmp |
ldh .D2T2 *+b14(s),b1 |
/ld/testsuite/ld-tic6x/unwind-4.d
0,0 → 1,11
#ld: -T unwind.ld |
#objdump: -s |
|
.*: file format.* |
|
#... |
Contents of section .c6xabi.exidx: |
9000 (00f8ff7f 07020083 1cf8ff7f 7af8ff7f|7ffff800 83000207 7ffff81c 7ffff87a) .* |
9010 (38f8ff7f 07020083 56f8ff7f 01000000|7ffff838 83000207 7ffff856 00000001) .* |
Contents of section .far: |
#... |
/ld/testsuite/ld-tic6x/static-app-1rb.od
0,0 → 1,12
|
tmpdir/static-app-1rb: file format elf32-tic6x-be |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000d8 R_C6000_ABS32 \.bss |
100000d4 R_C6000_ABS32 b |
100000dc R_C6000_ABS32 a |
100000e0 R_C6000_ABS32 \.text\+0x00000008 |
100000e4 R_C6000_ABS32 g1 |
|
|
/ld/testsuite/ld-tic6x/attr-unknown-7.d
0,0 → 1,6
#name: C6X unknown attribute merging 7 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-unknown-1024-1.s |
#source: attr-unknown-1024-1.s |
#error: .*error: unknown mandatory EABI object attribute 1024 |
/ld/testsuite/ld-tic6x/weak-be.d
0,0 → 1,19
#name: C6X relocs to weak symbols, big endian |
#as: -mbig-endian |
#ld: -melf32_tic6x_be -Tsbr.ld |
#source: weak.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-be |
|
|
Disassembly of section \.text: |
10000000 <[^>]*>: |
10000000:[ \t]+000c0362[ \t]+b \.S2 b3 |
10000004:[ \t]+a00c0362[ \t]+\[a2\] b \.S2 b3 |
10000008:[ \t]+000c0363[ \t]+b \.S2 b3 |
1000000c:[ \t]+00800028[ \t]+\|\| mvk \.S1 0,a1 |
10000010:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
10000014:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
10000018:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
1000001c:[ \t]+00000000[ \t]+nop 1 |
/ld/testsuite/ld-tic6x/attr-arch-c674x.s
0,0 → 1,19
.arch c674x |
/ld/testsuite/ld-tic6x/attr-conformance-10-none.d
0,0 → 1,10
#name: C6X conformance attribute merging, 10 none |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-10.s |
#source: attr-conformance-none.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/shlib-app-1.dd
0,0 → 1,40
|
tmpdir/shlib-dynapp-1: file format elf32-tic6x-le |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
[ \t]*\.\.\. |
|
Disassembly of section \.text: |
|
10000060 <fish>: |
10000060:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000064:[ \t]*1ffffb12[ \t]*callp \.S2 10000038 <sub0@plt>,b3 |
10000068:[ \t]*0ffffb12[ \t]*b \.S2 10000038 <sub0@plt> |
1000006c:[ \t]*10000012[ \t]*callp \.S2 10000060 <fish>,b3 |
10000070:[ \t]*00000012[ \t]*b \.S2 10000060 <fish> |
10000074:[ \t]*02000b6e[ \t]*ldw \.D2T2 \*\+b14\(44\),b4 |
10000078:[ \t]*0280086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b5 |
1000007c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000080:[ \t]*0300066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b6 |
10000084:[ \t]*020003a8[ \t]*mvk \.S1 7,a4 |
10000088:[ \t]*02000068[ \t]*mvkh \.S1 0,a4 |
1000008c:[ \t]*02800328[ \t]*mvk \.S1 6,a5 |
10000090:[ \t]*02800068[ \t]*mvkh \.S1 0,a5 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x.d
0,0 → 1,10
#name: C6X arch attribute merging, c674x c67x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c674x.s |
#source: attr-arch-c67x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-dsbt-11.d
0,0 → 1,11
#name: C6X DSBT attribute merging, 1 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-dsbt-1.s |
#source: attr-dsbt-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_DSBT: DSBT addressing used |
/ld/testsuite/ld-tic6x/attr-arch-c62x.s
0,0 → 1,11
.arch c62x |
/ld/testsuite/ld-tic6x/shlib-app-1rb.sd
0,0 → 1,6
|
tmpdir/shlib-dynapp-1rb: file format elf32-tic6x-be |
|
Contents of section \.got: |
[ \t]*100000a0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000b0 00000000 10000020 00000000 00000000 .* |
/ld/testsuite/ld-tic6x/static-app-1b.od
0,0 → 1,14
|
tmpdir/static-app-1b: file format elf32-tic6x-be |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000d8 R_C6000_ABS32 \.bss |
100000d4 R_C6000_ABS32 b |
100000dc R_C6000_ABS32 a |
100000e0 R_C6000_ABS32 \.text\+0x00000008 |
100000e4 R_C6000_ABS32 g1 |
100000ec R_C6000_ABS32 g1 |
100000f0 R_C6000_ABS32 \.neardata\+0x00000004 |
|
|
/ld/testsuite/ld-tic6x/unwind-4.s
0,0 → 1,68
.cfi_sections .c6xabi.exidx |
.text |
# out of line table entry |
.global _start |
.type _start, %function |
_start: |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.handlerdata |
.word 0 |
.endp |
|
# entry that can be merged |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.endp |
|
# Section that will be placed first |
.section .before, "xa" |
.type _before, %function |
_before: |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.endp |
|
# section that will be placed last |
.section .after, "xa" |
.global __c6xabi_unwind_cpp_pr3 |
.type __c6xabi_unwind_cpp_pr3, %function |
__c6xabi_unwind_cpp_pr3: |
# entry that can be merged |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.cfi_endproc |
.personalityindex 3 |
.endp |
|
# final function is cantunwind, so output table size is smaller |
# than sum of input sections |
.global foo |
.type foo, %function |
foo: |
.cfi_startproc |
nop |
.p2align 6 |
.cfi_endproc |
.cantunwind |
.endp |
|
.section .far |
.word 0 |
/ld/testsuite/ld-tic6x/attr-stack-8-8.d
0,0 → 1,10
#name: C6X stack attribute merging, 8 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-8.s |
#source: attr-stack-8.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/common.d
0,0 → 1,28
#name: C6X common symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tcommon.ld |
#source: common.s |
#readelf: -Ss |
|
There are 6 section headers, starting at offset 0x7c: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.far NOBITS 00000080 000080 000008 00 WA 0 0 4 |
\[ 2\] \.bss NOBITS 00000100 000080 000004 00 WA 0 0 4 |
\[ 3\] \.shstrtab STRTAB 00000000 000054 000025 00 0 0 1 |
\[ 4\] \.symtab SYMTAB 00000000 00016c 000050 10 5 3 4 |
\[ 5\] \.strtab STRTAB 00000000 0001bc 000005 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Symbol table '\.symtab' contains 5 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00000080 0 SECTION LOCAL DEFAULT 1 |
2: 00000100 0 SECTION LOCAL DEFAULT 2 |
3: 00000100 4 OBJECT GLOBAL DEFAULT 2 x |
4: 00000080 8 OBJECT GLOBAL DEFAULT 1 y |
/ld/testsuite/ld-tic6x/attr-array-4-4.d
0,0 → 1,12
#name: C6X array attribute merging, 4 4 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-4.s |
#source: attr-array-4.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 4-byte |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/attr-wchar-00.d
0,0 → 1,10
#name: C6X wchar_t attribute merging, 0 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-0.s |
#source: attr-wchar-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-8-4.d
0,0 → 1,6
#name: C6X array attribute merging, 8 4 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-8.s |
#source: attr-array-4.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/pcrel-reloc-local-r-rel-rela.d
0,0 → 1,62
#name: C6X PC-relative relocations, local symbols, -r, mixed link of REL/RELA |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: pcrel-reloc-local-1.s -mgenerate-rel |
#source: pcrel-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00000000[ \t]+nop 1 |
[ \t]*4:[ \t]+00800162[ \t]+addkpc \.S2 0 <[^>]*>,b1,0 |
[ \t]*4: R_C6000_PCR_S7[ \t]+\.text\.1 |
[ \t]*8:[ \t]+00810162[ \t]+addkpc \.S2 4 <[^>]*>,b1,0 |
[ \t]*8: R_C6000_PCR_S7[ \t]+\.text\.1 |
[ \t]*c:[ \t]+00000012[ \t]+b \.S2 0 <[^>]*> |
[ \t]*c: R_C6000_PCR_S21[ \t]+\.text\.1 |
[ \t]*10:[ \t]+00000092[ \t]+b \.S2 4 <[^>]*> |
[ \t]*10: R_C6000_PCR_S21[ \t]+\.text\.1 |
[ \t]*14:[ \t]+00801022[ \t]+bdec \.S2 0 <[^>]*>,b1 |
[ \t]*14: R_C6000_PCR_S10[ \t]+\.text\.1 |
[ \t]*18:[ \t]+00803022[ \t]+bdec \.S2 4 <[^>]*>,b1 |
[ \t]*18: R_C6000_PCR_S10[ \t]+\.text\.1 |
[ \t]*1c:[ \t]+00000122[ \t]+bnop \.S2 0 <[^>]*>,0 |
[ \t]*1c: R_C6000_PCR_S12[ \t]+\.text\.1 |
[ \t]*20:[ \t]+00010122[ \t]+bnop \.S2 24 <[^>]*>,0 |
[ \t]*20: R_C6000_PCR_S12[ \t]+\.text\.1 |
[ \t]*\.\.\. |
[ \t]*44:[ \t]+00000122[ \t]+bnop \.S2 40 <[^>]*>,0 |
[ \t]*44: R_C6000_PCR_S12[ \t]+\.text\.1\+0x20 |
[ \t]*48:[ \t]+00000122[ \t]+bnop \.S2 40 <[^>]*>,0 |
[ \t]*48: R_C6000_PCR_S12[ \t]+\.text\.1\+0x24 |
[ \t]*4c:[ \t]+00801022[ \t]+bdec \.S2 40 <[^>]*>,b1 |
[ \t]*4c: R_C6000_PCR_S10[ \t]+\.text\.1\+0x20 |
[ \t]*50:[ \t]+00801022[ \t]+bdec \.S2 40 <[^>]*>,b1 |
[ \t]*50: R_C6000_PCR_S10[ \t]+\.text\.1\+0x24 |
[ \t]*54:[ \t]+00000012[ \t]+b \.S2 40 <[^>]*> |
[ \t]*54: R_C6000_PCR_S21[ \t]+\.text\.1\+0x20 |
[ \t]*58:[ \t]+00000012[ \t]+b \.S2 40 <[^>]*> |
[ \t]*58: R_C6000_PCR_S21[ \t]+\.text\.1\+0x24 |
[ \t]*5c:[ \t]+00800162[ \t]+addkpc \.S2 40 <[^>]*>,b1,0 |
[ \t]*5c: R_C6000_PCR_S7[ \t]+\.text\.1\+0x20 |
[ \t]*60:[ \t]+00800162[ \t]+addkpc \.S2 60 <[^>]*>,b1,0 |
[ \t]*60: R_C6000_PCR_S7[ \t]+\.text\.1\+0x24 |
[ \t]*\.\.\. |
|
Disassembly of section \.text\.1: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00000000[ \t]+nop 1 |
|
0+4 <[^>]*>: |
[ \t]*\.\.\. |
|
0+20 <[^>]*>: |
[ \t]*20:[ \t]+00000000[ \t]+nop 1 |
|
0+24 <[^>]*>: |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-array-416-4.d
0,0 → 1,12
#name: C6X array attribute merging, 416 4 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-416.s |
#source: attr-array-4.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 4-byte |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/got-reloc-local-2.s
0,0 → 1,8
.text |
.nocmp |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
ldw .d2t1 *+B14($GOT(b)), A1 |
|
.data |
b: |
.word 0 |
/ld/testsuite/ld-tic6x/dsbt-index.d
0,0 → 1,14
#name: C6X DSBT_INDEX reloc |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --dsbt-index 5 |
#source: dsbt-index.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+0700056e[ \t]+ldw \.D2T2 \*\+b14\(20\),b14 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-stack-8.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_stack_align_needed, 0 |
.c6xabi_attribute Tag_ABI_stack_align_preserved, 0 |
/ld/testsuite/ld-tic6x/attr-array-16-48.d
0,0 → 1,6
#name: C6X array attribute merging, 16 48 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-16.s |
#source: attr-array-48.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x+ c64x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x+.s |
#source: attr-arch-c64x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x\+ |
/ld/testsuite/ld-tic6x/static-app-1r.od
0,0 → 1,12
|
tmpdir/static-app-1r: file format elf32-tic6x-le |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000d8 R_C6000_ABS32 \.bss |
100000d4 R_C6000_ABS32 b |
100000dc R_C6000_ABS32 a |
100000e0 R_C6000_ABS32 \.text\+0x00000008 |
100000e4 R_C6000_ABS32 g1 |
|
|
/ld/testsuite/ld-tic6x/shlib-1rb.rd
0,0 → 1,123
There are 17 section headers, starting at offset 0x21c4: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4 |
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4 |
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 |
\[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4 |
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 |
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 |
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4 |
\[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 |
\[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 |
\[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 |
\[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 |
\[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 |
\[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x10000080 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 |
DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x117c contains 16 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x8118 |
0x00000006 \(SYMTAB\) 0x8048 |
0x0000000a \(STRSZ\) 37 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x70000000 \(C6000_DSBT_BASE\) 0x10000100 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x2 |
0x00000003 \(PLTGOT\) 0x1000010c |
0x00000002 \(PLTRELSZ\) 24 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x8140 |
0x00000008 \(RELASZ\) 84 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 |
1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 |
10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 |
1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 |
10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 |
|
Symbol table '\.dynsym' contains 13 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 8 |
2: 10000080 0 SECTION LOCAL DEFAULT 9 |
3: 10000100 0 SECTION LOCAL DEFAULT 10 |
4: 10000128 0 SECTION LOCAL DEFAULT 11 |
5: 10000130 0 SECTION LOCAL DEFAULT 12 |
6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 00000000 0 NOTYPE WEAK DEFAULT UND b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 00008048 0 SECTION LOCAL DEFAULT 2 |
3: 00008118 0 SECTION LOCAL DEFAULT 3 |
4: 00008140 0 SECTION LOCAL DEFAULT 4 |
5: 00008164 0 SECTION LOCAL DEFAULT 5 |
6: 0000817c 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 10000020 0 SECTION LOCAL DEFAULT 8 |
9: 10000080 0 SECTION LOCAL DEFAULT 9 |
10: 10000100 0 SECTION LOCAL DEFAULT 10 |
11: 10000128 0 SECTION LOCAL DEFAULT 11 |
12: 10000130 0 SECTION LOCAL DEFAULT 12 |
13: 00000000 0 SECTION LOCAL DEFAULT 13 |
14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 |
15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC |
16: 10000130 4 OBJECT LOCAL DEFAULT 12 c |
17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ |
18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
19: 00000000 0 NOTYPE WEAK DEFAULT UND b |
20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
/ld/testsuite/ld-tic6x/shlib-app-1rb.dd
0,0 → 1,36
|
tmpdir/shlib-dynapp-1rb: file format elf32-tic6x-be |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
[ \t]*\.\.\. |
|
Disassembly of section \.text: |
|
10000060 <fish>: |
10000060:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000064:[ \t]*1ffffb12[ \t]*callp \.S2 10000038 <sub0@plt>,b3 |
10000068:[ \t]*0ffffb12[ \t]*b \.S2 10000038 <sub0@plt> |
1000006c:[ \t]*10000012[ \t]*callp \.S2 10000060 <fish>,b3 |
10000070:[ \t]*00000012[ \t]*b \.S2 10000060 <fish> |
10000074:[ \t]*0200096e[ \t]*ldw \.D2T2 \*\+b14\(36\),b4 |
10000078:[ \t]*0280086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b5 |
1000007c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000080:[ \t]*0300066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b6 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-stack-8-16.d
0,0 → 1,6
#name: C6X stack attribute merging, 8 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-8.s |
#source: attr-stack-16.s |
#error: .*requires more stack alignment than .* preserves |
/ld/testsuite/ld-tic6x/mvk-reloc-local-rel.d
0,0 → 1,19
#name: C6X MVK relocations, local symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tgeneric.ld |
#source: mvk-reloc-local-1-rel.s |
#source: mvk-reloc-local-2-rel.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00804028[ \t]+mvk \.S1 128,a1 |
10000004:[ \t]+01004228[ \t]+mvk \.S1 132,a2 |
[ \t]*\.\.\. |
10000020:[ \t]+00804628[ \t]+mvk \.S1 140,a1 |
10000024:[ \t]+01004828[ \t]+mvk \.S1 144,a2 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/common.s
0,0 → 1,2
.scomm x,4,4 |
.comm y,8,4 |
/ld/testsuite/ld-tic6x/attr-array-816-8.d
0,0 → 1,10
#name: C6X array attribute merging, 816 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-816.s |
#source: attr-array-8.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s12.s
0,0 → 1,3
.text |
.nocmp |
bnop .S2 s,0 |
/ld/testsuite/ld-tic6x/attr-array-416.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_array_object_align_expected, 1 |
.c6xabi_attribute Tag_ABI_array_object_alignment, 2 |
/ld/testsuite/ld-tic6x/attr-conformance-none-10.d
0,0 → 1,10
#name: C6X conformance attribute merging, none 10 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-none.s |
#source: attr-conformance-10.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/sbr-reloc-local-1-rel.s
0,0 → 1,21
.text |
.nocmp |
ldw .D2T2 *+b14(a),b1 |
ldw .D2T2 *+b14(b),b1 |
ldh .D2T2 *+b14(b),b1 |
ldh .D2T2 *+b14(c),b1 |
ldb .D2T2 *+b14(c),b1 |
ldb .D2T2 *+b14(d),b1 |
mvk .S1 $dpr_byte(d),a1 |
mvkl .S1 $dpr_byte(c),a1 |
mvkl .S1 $dpr_hword(b),a1 |
mvkl .S1 $dpr_word(a),a1 |
.data |
a: |
.word 0 |
b: |
.short 0 |
c: |
.byte 0 |
d: |
.byte 0 |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-b-1.d
0,0 → 1,5
#name: C6X relocation overflow, SBR_U15_B |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0x8080 |
#source: reloc-overflow-sbr-u15-b.s |
#error: .*relocation truncated to fit: R_C6000_SBR_U15_B.* |
/ld/testsuite/ld-tic6x/attr-arch-c674x-c62x.d
0,0 → 1,10
#name: C6X arch attribute merging, c674x c62x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c674x.s |
#source: attr-arch-c62x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/dsbt-index.s
0,0 → 1,3
.text |
.nocmp |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
/ld/testsuite/ld-tic6x/attr-array-816.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_array_object_align_expected, 0 |
.c6xabi_attribute Tag_ABI_array_object_alignment, 2 |
/ld/testsuite/ld-tic6x/data-reloc-local-r-rel.d
0,0 → 1,23
#name: C6X data relocations, local symbols, -r, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -r -melf32_tic6x_le |
#source: data-reloc-local-1.s |
#source: data-reloc-local-2.s |
#objdump: -r -s -j .data |
|
.*: *file format elf32-tic6x-le |
|
RELOCATION RECORDS FOR \[\.data\]: |
OFFSET TYPE VALUE |
0+ R_C6000_ABS32 \.data |
0+4 R_C6000_ABS32 \.data |
0+8 R_C6000_ABS32 \.data |
0+c R_C6000_ABS32 \.data |
0+10 R_C6000_ABS16 \.data |
0+12 R_C6000_ABS8 \.data |
0+13 R_C6000_ABS8 \.data |
|
|
Contents of section \.data: |
[ \t]*0000 00000000 04000000 0c000000 08000000 \.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. |
[ \t]*0010 0c00080c \.\.\.\. |
/ld/testsuite/ld-tic6x/attr-arch-c67x-c674x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x c674x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x.s |
#source: attr-arch-c674x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-816-16.d
0,0 → 1,12
#name: C6X array attribute merging, 816 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-816.s |
#source: attr-array-16.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
Tag_ABI_array_object_align_expected: 16-byte |
/ld/testsuite/ld-tic6x/sbr-reloc-global.d
0,0 → 1,27
#name: C6X SB-relative relocations, global symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym sw1=0x80 --defsym sw2=0x2007c --defsym sh1=0x80 --defsym sh2=0x1007e --defsym sb1=0x80 --defsym sb2=0x807f --defsym sb16a=0xffff8080 --defsym sb16b=0x807f --defsym sbw=0x123456f8 --defsym shw=0x2468ad70 --defsym sww=0x48d15a60 |
#source: sbr-reloc-global.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
10000004:[ \t]+00ffff6e[ \t]+ldw \.D2T2 \*\+b14\(131068\),b1 |
10000008:[ \t]+0080004e[ \t]+ldh \.D2T2 \*\+b14\(0\),b1 |
1000000c:[ \t]+00ffff4e[ \t]+ldh \.D2T2 \*\+b14\(65534\),b1 |
10000010:[ \t]+0080002e[ \t]+ldb \.D2T2 \*\+b14\(0\),b1 |
10000014:[ \t]+00ffff2e[ \t]+ldb \.D2T2 \*\+b14\(32767\),b1 |
10000018:[ \t]+00c00028[ \t]+mvk \.S1 -32768,a1 |
1000001c:[ \t]+00bfffa8[ \t]+mvk \.S1 32767,a1 |
10000020:[ \t]+00ab3c28[ \t]+mvk \.S1 22136,a1 |
10000024:[ \t]+00891a68[ \t]+mvkh \.S1 305397760,a1 |
10000028:[ \t]+00ab3c28[ \t]+mvk \.S1 22136,a1 |
1000002c:[ \t]+00891a68[ \t]+mvkh \.S1 305397760,a1 |
10000030:[ \t]+00ab3c28[ \t]+mvk \.S1 22136,a1 |
10000034:[ \t]+00891a68[ \t]+mvkh \.S1 305397760,a1 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/generic.ld
0,0 → 1,8
SECTIONS |
{ |
. = 0x80; |
.data : { *(.data*) } |
. = 0x10000000; |
.text : { *(.text*) } |
/DISCARD/ : { *(*) } |
} |
/ld/testsuite/ld-tic6x/reloc-overflow-abs8-2.d
0,0 → 1,5
#name: C6X relocation underflow, ABS8 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0xffffff7f |
#source: reloc-overflow-abs8.s |
#error: .*relocation truncated to fit: R_C6000_ABS8.* |
/ld/testsuite/ld-tic6x/attr-pid-0.s
0,0 → 1,5
.c6xabi_attribute Tag_ABI_PID, 0 |
/ld/testsuite/ld-tic6x/attr-pic-01.d
0,0 → 1,10
#name: C6X PIC attribute merging, 0 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pic-0.s |
#source: attr-pic-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/data-reloc-local.d
0,0 → 1,12
#name: C6X data relocations, local symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld |
#source: data-reloc-local-1.s |
#source: data-reloc-local-2.s |
#objdump: -r -s -j .data |
|
.*: *file format elf32-tic6x-le |
|
Contents of section \.data: |
[ \t]*0080 80000000 84000000 8c000000 88000000 .* |
[ \t]*0090 8c00888c .* |
/ld/testsuite/ld-tic6x/mvk-reloc-local-1.s
0,0 → 1,12
.text |
.nocmp |
mvk .S1 a,a1 |
mvkl .S1 b,a2 |
mvkh .S1 c,a3 |
.data |
a: |
.word 0 |
b: |
.word 0 |
c: |
.word 0 |
/ld/testsuite/ld-tic6x/attr-arch-c67x+.s
0,0 → 1,12
.arch c67x+ |
/ld/testsuite/ld-tic6x/sbr-reloc-global.s
0,0 → 1,27
.globl sw1 |
.globl sw2 |
.globl sh1 |
.globl sh2 |
.globl sb1 |
.globl sb2 |
.globl sb16a |
.globl sb16b |
.globl sbw |
.globl shw |
.globl sww |
.text |
.nocmp |
ldw .D2T2 *+b14(sw1),b1 |
ldw .D2T2 *+b14(sw2),b1 |
ldh .D2T2 *+b14(sh1),b1 |
ldh .D2T2 *+b14(sh2),b1 |
ldb .D2T2 *+b14(sb1),b1 |
ldb .D2T2 *+b14(sb2),b1 |
mvk .S1 $dpr_byte(sb16a),a1 |
mvk .S1 $dpr_byte(sb16b),a1 |
mvkl .S1 $dpr_byte(sbw),a1 |
mvkh .S1 $dpr_byte(sbw),a1 |
mvkl .S1 $dpr_hword(shw),a1 |
mvkh .S1 $dpr_hword(shw),a1 |
mvkl .S1 $dpr_word(sww),a1 |
mvkh .S1 $dpr_word(sww),a1 |
/ld/testsuite/ld-tic6x/shlib-1rb.sd
0,0 → 1,7
|
tmpdir/libtestrb\.so: file format elf32-tic6x-be |
|
Contents of section \.got: |
[ \t]*10000100 00000000 00000000 00000000 00000000 .* |
[ \t]*10000110 00000000 10000020 10000020 00000000 .* |
[ \t]*10000120 10000130 00000000 .* |
/ld/testsuite/ld-tic6x/unwind-5.d
0,0 → 1,7
#ld: -T discard-unwind.ld |
#objdump: -s |
|
.*: file format.* |
|
# Check we don't crash when discarding unwind info. |
#... |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s21.s
0,0 → 1,3
.text |
.nocmp |
b .S2 s |
/ld/testsuite/ld-tic6x/reloc-overflow-abs8.s
0,0 → 1,3
.globl s |
.data |
.byte s |
/ld/testsuite/ld-tic6x/attr-array-8-16.d
0,0 → 1,6
#name: C6X array attribute merging, 8 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-8.s |
#source: attr-array-16.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/got-reloc-local-r.d
0,0 → 1,23
#name: C6X GOT relocations, local symbols, -r |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: got-reloc-local-1.s |
#source: got-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
00000000 <\.text>: |
[ ]*0:[ ]*0700006e[ ]*ldw \.D2T2 \*\+b14\(0\),b14 |
[ ]*0:[ ]*R_C6000_DSBT_INDEX __c6xabi_DSBT_BASE |
[ ]*4:[ ]*0080006c[ ]*ldw \.D2T1 \*\+b14\(0\),a1 |
[ ]*4:[ ]*R_C6000_SBR_GOT_U15_W a |
\.\.\. |
[ ]*20:[ ]*0700006e[ ]*ldw \.D2T2 \*\+b14\(0\),b14 |
[ ]*20: R_C6000_DSBT_INDEX __c6xabi_DSBT_BASE |
[ ]*24:[ ]*0080006c[ ]*ldw \.D2T1 \*\+b14\(0\),a1 |
[ ]*24:[ ]*R_C6000_SBR_GOT_U15_W b |
\.\.\. |
/ld/testsuite/ld-tic6x/attr-array-48-8.d
0,0 → 1,10
#name: C6X array attribute merging, 48 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-48.s |
#source: attr-array-8.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/shlib-noindex.rd
0,0 → 1,130
There are 18 section headers, starting at offset 0x21cc: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 |
\[ 4\] \.rela\.text RELA 00008140 001140 00000c 0c A 2 10 4 |
\[ 5\] \.rela\.got RELA 0000814c 00114c 000024 0c A 2 11 4 |
\[ 6\] \.rela\.neardata RELA 00008170 001170 000018 0c A 2 12 4 |
\[ 7\] \.dynamic DYNAMIC 00008188 001188 0000b0 08 WA 3 0 4 |
\[ 8\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 9 4 |
\[ 9\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 |
\[10\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 |
\[11\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4 |
\[12\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 |
\[13\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 |
\[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 |
\[15\] \.shstrtab STRTAB 00000000 002149 000080 00 0 0 1 |
\[16\] \.symtab SYMTAB 00000000 00249c 0001b0 10 17 20 4 |
\[17\] \.strtab STRTAB 00000000 00264c 000059 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x10000080 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x00238 0x00238 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 |
DYNAMIC 0x001188 0x00008188 0x00008188 0x000b0 0x000b0 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.text \.rela\.got \.rela\.neardata \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1188 contains 17 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x8118 |
0x00000006 \(SYMTAB\) 0x8048 |
0x0000000a \(STRSZ\) 37 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x70000000 \(C6000_DSBT_BASE\) 0x10000100 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000003 \(PLTGOT\) 0x1000010c |
0x00000002 \(PLTRELSZ\) 24 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x8140 |
0x00000008 \(RELASZ\) 96 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000016 \(TEXTREL\) 0x0 |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.text' at offset 0x1140 contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000094 00000618 R_C6000_DSBT_INDEX 10000100 __c6xabi_DSBT_BASE \+ 0 |
|
Relocation section '\.rela\.got' at offset 0x114c contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 |
1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 |
10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1170 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 |
1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 |
10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 |
|
Symbol table '\.dynsym' contains 13 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 9 |
2: 10000080 0 SECTION LOCAL DEFAULT 10 |
3: 10000100 0 SECTION LOCAL DEFAULT 11 |
4: 10000128 0 SECTION LOCAL DEFAULT 12 |
5: 10000130 0 SECTION LOCAL DEFAULT 13 |
6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 00000000 0 NOTYPE WEAK DEFAULT UND b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 |
10: 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 |
11: 10000128 4 OBJECT GLOBAL DEFAULT 12 a |
12: 100000c0 52 FUNC GLOBAL DEFAULT 10 sub |
|
Symbol table '\.symtab' contains 27 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 00008048 0 SECTION LOCAL DEFAULT 2 |
3: 00008118 0 SECTION LOCAL DEFAULT 3 |
4: 00008140 0 SECTION LOCAL DEFAULT 4 |
5: 0000814c 0 SECTION LOCAL DEFAULT 5 |
6: 00008170 0 SECTION LOCAL DEFAULT 6 |
7: 00008188 0 SECTION LOCAL DEFAULT 7 |
8: 10000000 0 SECTION LOCAL DEFAULT 8 |
9: 10000020 0 SECTION LOCAL DEFAULT 9 |
10: 10000080 0 SECTION LOCAL DEFAULT 10 |
11: 10000100 0 SECTION LOCAL DEFAULT 11 |
12: 10000128 0 SECTION LOCAL DEFAULT 12 |
13: 10000130 0 SECTION LOCAL DEFAULT 13 |
14: 00000000 0 SECTION LOCAL DEFAULT 14 |
15: 10000080 0 FUNC LOCAL HIDDEN 10 sub1 |
16: 00008188 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC |
17: 10000130 4 OBJECT LOCAL DEFAULT 13 c |
18: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ |
19: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
20: 00000000 0 NOTYPE WEAK DEFAULT UND b |
21: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
23: 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 |
24: 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 |
25: 10000128 4 OBJECT GLOBAL DEFAULT 12 a |
26: 100000c0 52 FUNC GLOBAL DEFAULT 10 sub |
/ld/testsuite/ld-tic6x/unwind-5.s
0,0 → 1,16
.cfi_sections .c6xabi.exidx |
.text |
.global __c6xabi_unwind_cpp_pr3 |
.type __c6xabi_unwind_cpp_pr3, %function |
__c6xabi_unwind_cpp_pr3: |
.global _start |
.type _start, %function |
_start: |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.endp |
/ld/testsuite/ld-tic6x/attr-array-416-48.d
0,0 → 1,11
#name: C6X array attribute merging, 416 48 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-416.s |
#source: attr-array-48.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/attr-compatibility-gnu.s
0,0 → 1,11
.c6xabi_attribute Tag_ABI_compatibility, 1, "gnu" |
/ld/testsuite/ld-tic6x/shlib-1rb.dd
0,0 → 1,67
|
tmpdir/libtestrb\.so: file format elf32-tic6x-be |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
|
10000050 <sub@plt>: |
10000050:[ \t]*0100066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b2 |
10000054:[ \t]*0000062a[ \t]*mvk \.S2 12,b0 |
10000058:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
1000005c:[ \t]*00002000[ \t]*nop 2 |
10000060:[ \t]*00080362[ \t]*b \.S2 b2 |
10000064:[ \t]*00008000[ \t]*nop 5 |
\.\.\. |
|
Disassembly of section \.text: |
|
10000080 <sub1>: |
10000080:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000084:[ \t]*00008000[ \t]*nop 5 |
|
10000088 <sub0>: |
10000088:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000008c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000090:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000094:[ \t]*0700026e[ \t]*ldw \.D2T2 \*\+b14\(8\),b14 |
10000098:[ \t]*0ffffa12[ \t]*b \.S2 10000050 <sub@plt> |
1000009c:[ \t]*0ffff712[ \t]*b \.S2 10000038 <sub0@plt> |
100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1> |
100000a4:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
100000a8:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
100000ac:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
100000b0:[ \t]*00004000[ \t]*nop 3 |
100000b4:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000b8:[ \t]*00008000[ \t]*nop 5 |
100000bc:[ \t]*00000000[ \t]*nop 1 |
|
100000c0 <sub>: |
100000c0:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
100000c4:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
100000c8:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
100000cc:[ \t]*00006000[ \t]*nop 4 |
100000d0:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
100000d4:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
100000d8:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
100000dc:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000e0:[ \t]*0300096e[ \t]*ldw \.D2T2 \*\+b14\(36\),b6 |
100000e4:[ \t]*0380076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b7 |
100000e8:[ \t]*0400086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b8 |
100000ec:[ \t]*04800c6e[ \t]*ldw \.D2T2 \*\+b14\(48\),b9 |
\.\.\. |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s12-1.d
0,0 → 1,5
#name: C6X relocation overflow, PCR_S12 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x10002000 |
#source: reloc-overflow-pcr-s12.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S12.* |
/ld/testsuite/ld-tic6x/attr-wchar-01.d
0,0 → 1,11
#name: C6X wchar_t attribute merging, 0 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-0.s |
#source: attr-wchar-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_wchar_t: 2 bytes |
/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x c64x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x.s |
#source: attr-arch-c64x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/mvk-reloc-global.d
0,0 → 1,26
#name: C6X MVK relocations, global symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s0=0 --defsym s7fff=0x7fff --defsym s80000000=0x80000000 --defsym sffff8000=0xffff8000 --defsym sffffffff=0xffffffff |
#source: mvk-reloc-global.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
10000004:[ \t]+00c00068[ \t]+mvkh \.S1 2147483648,a1 |
10000008:[ \t]+00ffffa8[ \t]+mvk \.S1 -1,a1 |
1000000c:[ \t]+00ffffe8[ \t]+mvkh \.S1 4294901760,a1 |
10000010:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
10000014:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
10000018:[ \t]+00ffff28[ \t]+mvk \.S1 -2,a1 |
1000001c:[ \t]+00ffffe8[ \t]+mvkh \.S1 4294901760,a1 |
10000020:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
10000024:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
10000028:[ \t]+00c00028[ \t]+mvk \.S1 -32768,a1 |
1000002c:[ \t]+00c00028[ \t]+mvk \.S1 -32768,a1 |
10000030:[ \t]+00bfffa8[ \t]+mvk \.S1 32767,a1 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-stack-8-816.d
0,0 → 1,10
#name: C6X stack attribute merging, 8 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-8.s |
#source: attr-stack-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/shlib-app-1b.od
0,0 → 1,13
|
tmpdir/shlib-dynapp-1b: file format elf32-tic6x-be |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000b8 R_C6000_ABS32 b |
100000bc R_C6000_ABS32 a |
100000c4 R_C6000_ABS32 g1 |
100000c8 R_C6000_ABS32 g2 |
100000cc R_C6000_COPY a |
100000b4 R_C6000_JUMP_SLOT sub0 |
|
|
/ld/testsuite/ld-tic6x/attr-compatibility-gnu-gnu.d
0,0 → 1,11
#name: C6X compatibility attribute merging, gnu gnu |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-compatibility-gnu.s |
#source: attr-compatibility-gnu.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_compatibility: flag = 1, vendor = gnu |
/ld/testsuite/ld-tic6x/attr-pic-10.d
0,0 → 1,10
#name: C6X PIC attribute merging, 1 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pic-1.s |
#source: attr-pic-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-unknown-1000-1.s
0,0 → 1,10
.c6xabi_attribute 1000, 1 |
/ld/testsuite/ld-tic6x/pcrel-reloc-global.d
0,0 → 1,20
#name: C6X PC-relative relocations, global symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s7a=0x0fffff00 --defsym s7b=0x100000fc --defsym s10a=0x0ffff800 --defsym s10b=0x100007fc --defsym s12a=0x0fffe000 --defsym s12b=0x10001ffc --defsym s21a=0x0fc00000 --defsym s21b=0x103ffffc |
#source: pcrel-reloc-global.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00c00162[ \t]+addkpc \.S2 fffff00 <[^>]*>,b1,0 |
10000004:[ \t]+00bf0162[ \t]+addkpc \.S2 100000fc <[^>]*>,b1,0 |
10000008:[ \t]+08000012[ \t]+b \.S2 fc00000 <[^>]*> |
1000000c:[ \t]+07ffff92[ \t]+b \.S2 103ffffc <[^>]*> |
10000010:[ \t]+00c01022[ \t]+bdec \.S2 ffff800 <[^>]*>,b1 |
10000014:[ \t]+00bff022[ \t]+bdec \.S2 100007fc <[^>]*>,b1 |
10000018:[ \t]+08000122[ \t]+bnop \.S2 fffe000 <[^>]*>,0 |
1000001c:[ \t]+07ff0122[ \t]+bnop \.S2 10001ffc <[^>]*>,0 |
/ld/testsuite/ld-tic6x/attr-array-416-416.d
0,0 → 1,12
#name: C6X array attribute merging, 416 416 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-416.s |
#source: attr-array-416.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/tic6x.exp
0,0 → 1,180
if { ! [istarget tic6x-*-*] } { |
return |
} |
|
foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.d]] { |
if { [runtest_file_p $runtests $test] } { |
run_dump_test [file rootname $test] |
} |
} |
|
set shlibtests { |
{"C6X shared library without --dsbt-index" |
"-shared -Tdsbt.ld --dsbt-size=3" |
"-mdsbt -mpic -mpid=near" {shlib-1.s shlib-2.s} |
{{readelf -WSsrld shlib-noindex.rd} |
{objdump "-drj.plt -j.text" shlib-noindex.dd} |
{objdump -sj.got shlib-noindex.sd}} |
"libtestn.so"} |
{"C6X shared library, LE, RELA" |
"-shared -Tdsbt.ld --dsbt-index=2 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near" {shlib-1.s shlib-2.s} |
{{readelf -WSsrld shlib-1.rd} |
{objdump "-drj.plt -j.text" shlib-1.dd} |
{objdump -sj.got shlib-1.sd}} |
"libtest.so"} |
{"C6X nonstatic app using shared library, LE, RELA" |
"-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtest.so" |
"-mdsbt -mpic -mpid=near" {shlib-app-1.s} |
{{readelf -WSsrld shlib-app-1.rd} |
{objdump "-drj.plt -j.text" shlib-app-1.dd} |
{objdump -sj.got shlib-app-1.sd} |
{objdump -R shlib-app-1.od}} |
"shlib-dynapp-1"} |
{"C6X shared library, LE, REL" |
"-shared -Tdsbt.ld --dsbt-index=2 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near -mgenerate-rel" {shlib-1.s shlib-2.s} |
{{readelf -WSsrld shlib-1r.rd} |
{objdump "-drj.plt -j.text" shlib-1r.dd} |
{objdump -sj.got shlib-1r.sd}} |
"libtestr.so"} |
{"C6X nonstatic app using shared library, LE, REL" |
"-Tdsbt.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtestr.so" |
"-mdsbt -mpic -mpid=near -mgenerate-rel" {shlib-app-1r.s} |
{{readelf -WSsrld shlib-app-1r.rd} |
{objdump "-drj.plt -j.text" shlib-app-1r.dd} |
{objdump -sj.got shlib-app-1r.sd} |
{objdump -R shlib-app-1r.od}} |
"shlib-dynapp-1r"} |
{"C6X shared library, BE, RELA" |
"-shared -Tdsbt-be.ld --dsbt-index=2 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near -mbig-endian" {shlib-1.s shlib-2.s} |
{{readelf -WSsrld shlib-1b.rd} |
{objdump "-drj.plt -j.text" shlib-1b.dd} |
{objdump -sj.got shlib-1b.sd}} |
"libtestb.so"} |
{"C6X nonstatic app using shared library, BE, RELA" |
"-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtestb.so" |
"-mdsbt -mpic -mpid=near -mbig-endian" {shlib-app-1.s} |
{{readelf -WSsrld shlib-app-1b.rd} |
{objdump "-drj.plt -j.text" shlib-app-1b.dd} |
{objdump -sj.got shlib-app-1b.sd} |
{objdump -R shlib-app-1b.od}} |
"shlib-dynapp-1b"} |
{"C6X shared library, BE, REL" |
"-shared -Tdsbt-be.ld --dsbt-index=2 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near -mgenerate-rel -mbig-endian" {shlib-1.s shlib-2.s} |
{{readelf -WSsrld shlib-1rb.rd} |
{objdump "-drj.plt -j.text" shlib-1rb.dd} |
{objdump -sj.got shlib-1rb.sd}} |
"libtestrb.so"} |
{"C6X nonstatic app using shared library, BE, REL" |
"-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3 tmpdir/libtestrb.so" |
"-mdsbt -mpic -mpid=near -mgenerate-rel -mbig-endian" {shlib-app-1r.s} |
{{readelf -WSsrld shlib-app-1rb.rd} |
{objdump "-drj.plt -j.text" shlib-app-1rb.dd} |
{objdump -sj.got shlib-app-1rb.sd} |
{objdump -R shlib-app-1rb.od}} |
"shlib-dynapp-1rb"} |
|
{"C6X static app, LE, RELA" |
"-Tdsbt.ld --dsbt-index 0 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near" {shlib-1.s shlib-2.s shlib-app-1.s} |
{{readelf -WSsrld static-app-1.rd} |
{objdump "-drj.plt -j.text" static-app-1.dd} |
{objdump -sj.got static-app-1.sd} |
{objdump -R static-app-1.od}} |
"static-app-1"} |
{"C6X static app, LE, REL" |
"-Tdsbt.ld --dsbt-index 0 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near -mgenerate-rel" {shlib-1.s shlib-2.s shlib-app-1r.s} |
{{readelf -WSsrld static-app-1r.rd} |
{objdump "-drj.plt -j.text" static-app-1r.dd} |
{objdump -sj.got static-app-1r.sd} |
{objdump -R static-app-1r.od}} |
"static-app-1r"} |
{"C6X static app, BE, RELA" |
"-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near -mbig-endian" {shlib-1.s shlib-2.s shlib-app-1.s} |
{{readelf -WSsrld static-app-1b.rd} |
{objdump "-drj.plt -j.text" static-app-1b.dd} |
{objdump -sj.got static-app-1b.sd} |
{objdump -R static-app-1b.od}} |
"static-app-1b"} |
{"C6X static app, BE, REL" |
"-Tdsbt-be.ld --dsbt-index 0 --dsbt-size=3" |
"-mdsbt -mpic -mpid=near -mbig-endian -mgenerate-rel" {shlib-1.s shlib-2.s shlib-app-1r.s} |
{{readelf -WSsrld static-app-1rb.rd} |
{objdump "-drj.plt -j.text" static-app-1rb.dd} |
{objdump -sj.got static-app-1rb.sd} |
{objdump -R static-app-1rb.od}} |
"static-app-1rb"} |
} |
|
run_ld_link_tests $shlibtests |
|
if { [istarget tic6x-*-elf] } { |
set expected_osabi "Bare-metal C6000" |
} elseif { [istarget tic6x-*-uclinux] } { |
set expected_osabi "Linux C6000" |
} else { |
return |
} |
|
if { ![ld_assemble_flags $as "-mpic -mpid=near" $srcdir/$subdir/shlib-1.s tmpdir/shlib-1.o] |
|| ![ld_assemble_flags $as "-mpic -mpid=near" $srcdir/$subdir/shlib-2.s tmpdir/shlib-2.o] |
|| ![ld_assemble $as $srcdir/$subdir/shlib-app-1.s tmpdir/shlib-app-1.o] |
|| ![ld_assemble_flags $as "-mpic -mpid=near -mbig-endian" $srcdir/$subdir/shlib-1.s tmpdir/shlib-1b.o] |
|| ![ld_assemble_flags $as "-mpic -mpid=near -mbig-endian" $srcdir/$subdir/shlib-2.s tmpdir/shlib-2b.o] |
|| ![ld_assemble_flags $as -mbig-endian $srcdir/$subdir/shlib-app-1.s tmpdir/shlib-app-1b.o] |
|| ![ld_simple_link $ld tmpdir/libtest.so "-shared tmpdir/shlib-1.o tmpdir/shlib-2.o"] |
|| ![ld_simple_link $ld tmpdir/libtestb.so "-shared -EB tmpdir/shlib-1b.o tmpdir/shlib-2b.o"] |
|| ![ld_simple_link $ld tmpdir/shlib.o "-r tmpdir/shlib-1.o tmpdir/shlib-2.o"] |
|| ![ld_simple_link $ld tmpdir/shlibb.o "-r -EB tmpdir/shlib-1b.o tmpdir/shlib-2b.o"] |
|| ![ld_simple_link $ld tmpdir/dynapp-1 "tmpdir/libtest.so tmpdir/shlib-app-1.o"] |
|| ![ld_simple_link $ld tmpdir/dynapp-1b "-EB tmpdir/libtestb.so tmpdir/shlib-app-1b.o"] } { |
unresolved "TIC6X OSABI tests" |
return |
} |
|
# A procedure to check the OS/ABI field in the ELF header of a binary file. |
proc check_osabi_tic6x { test_name binary_file } { |
global READELF |
global READELFFLAGS |
global expected_osabi |
|
set cmd "$READELF $READELFFLAGS --file-header $binary_file" |
send_log "$cmd\n" |
set got [remote_exec host [concat sh -c [list "$cmd >dump.out"]] "" "/dev/null"] |
|
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then { |
send_log "$got\n" |
unresolved "$test_name" |
remote_file build delete "dump.out" |
return |
} |
remote_upload host "dump.out" |
|
if { ![regexp "\n\[ \]*OS/ABI:\[ \]*(.+)\n\[ \]*ABI" \ |
[file_contents dump.out] nil osabi] } { |
verbose "proc check_osabi_tic6x: Readelf failed to extract an ELF header from $binary_file" |
unresolved "$test_name" |
} elseif { $osabi == $expected_osabi } { |
pass "$test_name" |
} else { |
verbose "Expected OSABI: $expected_osabi, Obtained osabi: $osabi" |
fail "$test_name" |
} |
remote_file build delete "dump.out" |
remote_file host delete "dump.out" |
} |
|
check_osabi_tic6x "C6X shared library OSABI, LE" tmpdir/libtest.so |
check_osabi_tic6x "C6X shared library OSABI, BE" tmpdir/libtestb.so |
check_osabi_tic6x "C6X dynamic app OSABI, LE" tmpdir/dynapp-1 |
check_osabi_tic6x "C6X dynamic app OSABI, BE" tmpdir/dynapp-1b |
|
set expected_osabi "UNIX - System V" |
|
check_osabi_tic6x "C6X relocatable link OSABI, LE" tmpdir/shlib.o |
check_osabi_tic6x "C6X relocatable link OSABI, BE" tmpdir/shlibb.o |
/ld/testsuite/ld-tic6x/static-app-1rb.rd
0,0 → 1,109
There are 15 section headers, starting at offset 0x2178: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4 |
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4 |
\[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c A 2 9 4 |
\[ 6\] \.dynamic DYNAMIC 00008138 001138 000090 08 WA 3 0 4 |
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 |
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 |
\[ 9\] \.neardata PROGBITS 100000e0 0020e0 00000c 00 WA 0 0 4 |
\[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 |
\[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 |
\[12\] \.shstrtab STRTAB 00000000 002105 000071 00 0 0 1 |
\[13\] \.symtab SYMTAB 00000000 0023d0 000190 10 14 18 4 |
\[14\] \.strtab STRTAB 00000000 002560 00005e 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000000 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x001c8 0x001c8 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000ec 0x000f0 RWE 0x1000 |
DYNAMIC 0x001138 0x00008138 0x00008138 0x00090 0x00090 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1138 contains 13 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x80dc |
0x00000006 \(SYMTAB\) 0x803c |
0x0000000a \(STRSZ\) 29 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000007 \(RELA\) 0x80fc |
0x00000008 \(RELASZ\) 60 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000d8 00000401 R_C6000_ABS32 100000ec \.bss \+ 0 |
100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 |
100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1120 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 |
100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
|
Symbol table '\.dynsym' contains 10 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000000 0 SECTION LOCAL DEFAULT 7 |
2: 100000c0 0 SECTION LOCAL DEFAULT 8 |
3: 100000e0 0 SECTION LOCAL DEFAULT 9 |
4: 100000ec 0 SECTION LOCAL DEFAULT 10 |
5: 100000ec 4 OBJECT LOCAL DEFAULT 10 c |
6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
|
Symbol table '\.symtab' contains 25 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 0000803c 0 SECTION LOCAL DEFAULT 2 |
3: 000080dc 0 SECTION LOCAL DEFAULT 3 |
4: 000080fc 0 SECTION LOCAL DEFAULT 4 |
5: 00008120 0 SECTION LOCAL DEFAULT 5 |
6: 00008138 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 100000c0 0 SECTION LOCAL DEFAULT 8 |
9: 100000e0 0 SECTION LOCAL DEFAULT 9 |
10: 100000ec 0 SECTION LOCAL DEFAULT 10 |
11: 00000000 0 SECTION LOCAL DEFAULT 11 |
12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 |
13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish |
14: 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC |
15: 100000ec 4 OBJECT LOCAL DEFAULT 10 c |
16: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ |
17: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
18: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
20: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
21: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 |
22: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 |
23: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
24: 10000040 52 FUNC GLOBAL DEFAULT 7 sub |
/ld/testsuite/ld-tic6x/attr-array-416-816.d
0,0 → 1,11
#name: C6X array attribute merging, 416 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-416.s |
#source: attr-array-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x c67x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x.s |
#source: attr-arch-c67x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x\+ |
/ld/testsuite/ld-tic6x/attr-array-816-416.d
0,0 → 1,11
#name: C6X array attribute merging, 816 416 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-816.s |
#source: attr-array-416.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
/ld/testsuite/ld-tic6x/attr-array-16-4.d
0,0 → 1,6
#name: C6X array attribute merging, 16 4 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-16.s |
#source: attr-array-4.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/mvk-reloc-global.s
0,0 → 1,20
.globl s0 |
.globl s7fff |
.globl s80000000 |
.globl sffff8000 |
.globl sffffffff |
.text |
.nocmp |
mvkl .S1 s80000000,a1 |
mvkh .S1 s80000000,a1 |
mvkl .S1 sffffffff,a1 |
mvkh .S1 sffffffff,a1 |
mvkl .S1 s0,a1 |
mvkh .S1 s0,a1 |
mvkl .S1 sffffffff+0xffffffff,a1 |
mvkh .S1 sffffffff+0xffffffff,a1 |
mvkl .S1 s80000000+0x80000000,a1 |
mvkh .S1 s80000000+0x80000000,a1 |
mvk .S1 sffff8000,a1 |
mvk .S1 s0-0x8000,a1 |
mvk .S1 s7fff,a1 |
/ld/testsuite/ld-tic6x/shared-nopic.d
0,0 → 1,5
#name: C6X shared library without PIC code |
#as: -mlittle-endian -mdsbt -mpid=near |
#ld: -melf32_tic6x_le -Tdsbt-inrange.ld --dsbt-index 4 -shared |
#source: got-reloc-global.s |
#warning: non-PIC code |
/ld/testsuite/ld-tic6x/attr-array-816-816.d
0,0 → 1,11
#name: C6X array attribute merging, 816 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-816.s |
#source: attr-array-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
/ld/testsuite/ld-tic6x/attr-conformance-none-11.d
0,0 → 1,10
#name: C6X conformance attribute merging, none 11 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-none.s |
#source: attr-conformance-11.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/shlib-app-1r.od
0,0 → 1,11
|
tmpdir/shlib-dynapp-1r: file format elf32-tic6x-le |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000b8 R_C6000_ABS32 b |
100000bc R_C6000_ABS32 a |
100000c4 R_C6000_COPY a |
100000b4 R_C6000_JUMP_SLOT sub0 |
|
|
/ld/testsuite/ld-tic6x/shlib-app-1r.s
0,0 → 1,19
.global a |
.text |
fish: |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
callp .s2 sub0, B3 |
b .s2 sub0 |
callp .s2 fish, B3 |
b .s2 fish |
ldw .d2t2 *+B14(a), B4 |
ldw .d2t2 *+B14(b), B5 |
ldw .d2t2 *+B14($GOT(a)), B6 |
ldw .d2t2 *+B14($GOT(b)), B6 |
.global b |
.section .neardata,"aw",@progbits |
.align 2 |
.type b, @object |
.size b, 4 |
b: |
.long 0x12345678 |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-b-2.d
0,0 → 1,5
#name: C6X relocation underflow, SBR_U15_B |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0x7f |
#source: reloc-overflow-sbr-u15-b.s |
#error: .*relocation truncated to fit: R_C6000_SBR_U15_B.* |
/ld/testsuite/ld-tic6x/static-app-1.od
0,0 → 1,14
|
tmpdir/static-app-1: file format elf32-tic6x-le |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000d8 R_C6000_ABS32 \.bss |
100000d4 R_C6000_ABS32 b |
100000dc R_C6000_ABS32 a |
100000e0 R_C6000_ABS32 \.text\+0x00000008 |
100000e4 R_C6000_ABS32 g1 |
100000ec R_C6000_ABS32 g1 |
100000f0 R_C6000_ABS32 \.neardata\+0x00000004 |
|
|
/ld/testsuite/ld-tic6x/pcrel-reloc-global.s
0,0 → 1,18
.globl s7a |
.globl s7b |
.globl s21a |
.globl s21b |
.globl s10a |
.globl s10b |
.globl s12a |
.globl s12b |
.text |
.nocmp |
addkpc .S2 s7a,b1,0 |
addkpc .S2 s7b,b1,0 |
b .S2 s21a |
b .S2 s21b |
bdec .S2 s10a,b1 |
bdec .S2 s10b,b1 |
bnop .S2 s12a,0 |
bnop .S2 s12b,0 |
/ld/testsuite/ld-tic6x/shlib-noindex.sd
0,0 → 1,7
|
tmpdir/libtestn\.so: file format elf32-tic6x-le |
|
Contents of section \.got: |
[ \t]*10000100 00000000 00000000 00000000 00000000 .* |
[ \t]*10000110 00000000 20000010 20000010 00000000 .* |
[ \t]*10000120 30010010 00000000 .* |
/ld/testsuite/ld-tic6x/static-app-1b.rd
0,0 → 1,112
There are 15 section headers, starting at offset 0x2180: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4 |
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4 |
\[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c A 2 9 4 |
\[ 6\] \.dynamic DYNAMIC 00008150 001150 000090 08 WA 3 0 4 |
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 |
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 |
\[ 9\] \.neardata PROGBITS 100000e0 0020e0 000014 00 WA 0 0 4 |
\[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 |
\[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 |
\[12\] \.shstrtab STRTAB 00000000 00210d 000071 00 0 0 1 |
\[13\] \.symtab SYMTAB 00000000 0023d8 0001a0 10 14 19 4 |
\[14\] \.strtab STRTAB 00000000 002578 000060 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000000 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x001e0 0x001e0 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000f4 0x000f8 RWE 0x1000 |
DYNAMIC 0x001150 0x00008150 0x00008150 0x00090 0x00090 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1150 contains 13 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x80dc |
0x00000006 \(SYMTAB\) 0x803c |
0x0000000a \(STRSZ\) 29 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000007 \(RELA\) 0x80fc |
0x00000008 \(RELASZ\) 84 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000d8 00000401 R_C6000_ABS32 100000f4 \.bss \+ 0 |
100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 |
100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1120 contains 4 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 |
100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
100000ec 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
100000f0 00000301 R_C6000_ABS32 100000e0 \.neardata \+ 4 |
|
Symbol table '\.dynsym' contains 10 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000000 0 SECTION LOCAL DEFAULT 7 |
2: 100000c0 0 SECTION LOCAL DEFAULT 8 |
3: 100000e0 0 SECTION LOCAL DEFAULT 9 |
4: 100000f4 0 SECTION LOCAL DEFAULT 10 |
5: 100000f4 4 OBJECT LOCAL DEFAULT 10 c |
6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 0000803c 0 SECTION LOCAL DEFAULT 2 |
3: 000080dc 0 SECTION LOCAL DEFAULT 3 |
4: 000080fc 0 SECTION LOCAL DEFAULT 4 |
5: 00008120 0 SECTION LOCAL DEFAULT 5 |
6: 00008150 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 100000c0 0 SECTION LOCAL DEFAULT 8 |
9: 100000e0 0 SECTION LOCAL DEFAULT 9 |
10: 100000f4 0 SECTION LOCAL DEFAULT 10 |
11: 00000000 0 SECTION LOCAL DEFAULT 11 |
12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 |
13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish |
14: 100000ec 8 OBJECT LOCAL DEFAULT 9 w |
15: 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC |
16: 100000f4 4 OBJECT LOCAL DEFAULT 10 c |
17: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ |
18: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
19: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
22: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 |
23: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 |
24: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
25: 10000040 52 FUNC GLOBAL DEFAULT 7 sub |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s21-1.d
0,0 → 1,5
#name: C6X relocation overflow, PCR_S21 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x10400000 |
#source: reloc-overflow-pcr-s21.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S21.* |
/ld/testsuite/ld-tic6x/attr-wchar-10.d
0,0 → 1,11
#name: C6X wchar_t attribute merging, 1 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-1.s |
#source: attr-wchar-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_wchar_t: 2 bytes |
/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x.d
0,0 → 1,10
#name: C6X arch attribute merging, c62x c67x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c62x.s |
#source: attr-arch-c67x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x |
/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x c67x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x.s |
#source: attr-arch-c67x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-16-16.d
0,0 → 1,12
#name: C6X array attribute merging, 16 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-16.s |
#source: attr-array-16.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
Tag_ABI_array_object_align_expected: 16-byte |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-b.s
0,0 → 1,3
.text |
.nocmp |
ldb .D2T2 *+b14(s),b1 |
/ld/testsuite/ld-tic6x/attr-pid-1.s
0,0 → 1,3
.c6xabi_attribute Tag_ABI_PID, 1 |
/ld/testsuite/ld-tic6x/sbr.ld
0,0 → 1,9
EXTERN (__c6xabi_DSBT_BASE); |
SECTIONS |
{ |
. = 0x80; |
.data : { PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); *(.data*) } |
. = 0x10000000; |
.text : { *(.text*) } |
/DISCARD/ : { *(*) } |
} |
/ld/testsuite/ld-tic6x/mvk-reloc-local-2.s
0,0 → 1,12
.text |
.nocmp |
mvk .S1 d,a1 |
mvkl .S1 e,a2 |
mvkh .S1 f-0x100,a3 |
.data |
d: |
.word 0 |
e: |
.word 0 |
f: |
.word 0 |
/ld/testsuite/ld-tic6x/attr-unknown-1.d
0,0 → 1,6
#name: C6X unknown attribute merging 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-unknown-54-1.s |
#source: attr-unknown-54-1.s |
#error: .*error: unknown mandatory EABI object attribute 54 |
/ld/testsuite/ld-tic6x/shlib-noindex.dd
0,0 → 1,67
|
tmpdir/libtestn\.so: file format elf32-tic6x-le |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020: 0100036e ldw \.D2T2 \*\+b14\(12\),b2 |
10000024: 0080046e ldw \.D2T2 \*\+b14\(16\),b1 |
10000028: 00004000 nop 3 |
1000002c: 00080362 b \.S2 b2 |
10000030: 00008000 nop 5 |
10000034: 00000000 nop 1 |
|
10000038 <sub0@plt>: |
10000038: 0100056e ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c: 0000002a mvk \.S2 0,b0 |
10000040: 0000006a mvkh \.S2 0,b0 |
10000044: 00002000 nop 2 |
10000048: 00080362 b \.S2 b2 |
1000004c: 00008000 nop 5 |
|
10000050 <sub@plt>: |
10000050: 0100066e ldw \.D2T2 \*\+b14\(24\),b2 |
10000054: 0000062a mvk \.S2 12,b0 |
10000058: 0000006a mvkh \.S2 0,b0 |
1000005c: 00002000 nop 2 |
10000060: 00080362 b \.S2 b2 |
10000064: 00008000 nop 5 |
\.\.\. |
|
Disassembly of section \.text: |
|
10000080 <sub1>: |
10000080: 000c0362 b \.S2 b3 |
10000084: 00008000 nop 5 |
|
10000088 <sub0>: |
10000088: 07be09c2 sub \.D2 b15,16,b15 |
1000008c: 01bc62f6 stw \.D2T2 b3,\*\+b15\(12\) |
10000090: 073c82f6 stw \.D2T2 b14,\*\+b15\(16\) |
10000094: 0700006e ldw \.D2T2 \*\+b14\(0\),b14 |
10000098: 0ffffa12 b \.S2 10000050 <sub@plt> |
1000009c: 0ffff712 b \.S2 10000038 <sub0@plt> |
100000a0: 0ffffc12 b \.S2 10000080 <sub1> |
100000a4: 01bc62e6 ldw \.D2T2 \*\+b15\(12\),b3 |
100000a8: 073c82e6 ldw \.D2T2 \*\+b15\(16\),b14 |
100000ac: 07800852 addk \.S2 16,b15 |
100000b0: 00004000 nop 3 |
100000b4: 000c0362 b \.S2 b3 |
100000b8: 00008000 nop 5 |
100000bc: 00000000 nop 1 |
|
100000c0 <sub>: |
100000c0: 07be09c2 sub \.D2 b15,16,b15 |
100000c4: 023c62f4 stw \.D2T1 a4,\*\+b15\(12\) |
100000c8: 003c62e4 ldw \.D2T1 \*\+b15\(12\),a0 |
100000cc: 00006000 nop 4 |
100000d0: 00014940 add \.D1 a0,10,a0 |
100000d4: 020008f0 or \.D1 0,a0,a4 |
100000d8: 07be0942 add \.D2 b15,16,b15 |
100000dc: 000c0362 b \.S2 b3 |
100000e0: 0300096e ldw \.D2T2 \*\+b14\(36\),b6 |
100000e4: 0380076e ldw \.D2T2 \*\+b14\(28\),b7 |
100000e8: 0400086e ldw \.D2T2 \*\+b14\(32\),b8 |
100000ec: 04800c6e ldw \.D2T2 \*\+b14\(48\),b9 |
\.\.\. |
/ld/testsuite/ld-tic6x/static-app-1r.rd
0,0 → 1,109
There are 15 section headers, starting at offset 0x2178: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4 |
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4 |
\[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c A 2 9 4 |
\[ 6\] \.dynamic DYNAMIC 00008138 001138 000090 08 WA 3 0 4 |
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 |
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 |
\[ 9\] \.neardata PROGBITS 100000e0 0020e0 00000c 00 WA 0 0 4 |
\[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 |
\[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 |
\[12\] \.shstrtab STRTAB 00000000 002105 000071 00 0 0 1 |
\[13\] \.symtab SYMTAB 00000000 0023d0 000190 10 14 18 4 |
\[14\] \.strtab STRTAB 00000000 002560 00005e 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000000 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x001c8 0x001c8 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000ec 0x000f0 RWE 0x1000 |
DYNAMIC 0x001138 0x00008138 0x00008138 0x00090 0x00090 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1138 contains 13 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x80dc |
0x00000006 \(SYMTAB\) 0x803c |
0x0000000a \(STRSZ\) 29 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000007 \(RELA\) 0x80fc |
0x00000008 \(RELASZ\) 60 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000d8 00000401 R_C6000_ABS32 100000ec \.bss \+ 0 |
100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 |
100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1120 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 |
100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
|
Symbol table '\.dynsym' contains 10 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000000 0 SECTION LOCAL DEFAULT 7 |
2: 100000c0 0 SECTION LOCAL DEFAULT 8 |
3: 100000e0 0 SECTION LOCAL DEFAULT 9 |
4: 100000ec 0 SECTION LOCAL DEFAULT 10 |
5: 100000ec 4 OBJECT LOCAL DEFAULT 10 c |
6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
|
Symbol table '\.symtab' contains 25 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 0000803c 0 SECTION LOCAL DEFAULT 2 |
3: 000080dc 0 SECTION LOCAL DEFAULT 3 |
4: 000080fc 0 SECTION LOCAL DEFAULT 4 |
5: 00008120 0 SECTION LOCAL DEFAULT 5 |
6: 00008138 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 100000c0 0 SECTION LOCAL DEFAULT 8 |
9: 100000e0 0 SECTION LOCAL DEFAULT 9 |
10: 100000ec 0 SECTION LOCAL DEFAULT 10 |
11: 00000000 0 SECTION LOCAL DEFAULT 11 |
12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 |
13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish |
14: 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC |
15: 100000ec 4 OBJECT LOCAL DEFAULT 10 c |
16: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ |
17: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
18: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
20: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
21: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 |
22: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 |
23: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
24: 10000040 52 FUNC GLOBAL DEFAULT 7 sub |
/ld/testsuite/ld-tic6x/unwind-6.d
0,0 → 1,13
#ld: -T unwind.ld |
#source unwind-4.s |
#as: -mgenerate-rel |
#objdump: -s |
|
.*: file format.* |
|
#... |
Contents of section .c6xabi.exidx: |
9000 (00f8ff7f 07020083 1cf8ff7f 7af8ff7f|7ffff800 83000207 7ffff81c 7ffff87a) .* |
9010 (38f8ff7f 07020083 56f8ff7f 01000000|7ffff838 83000207 7ffff856 00000001) .* |
Contents of section .far: |
#... |
/ld/testsuite/ld-tic6x/got-reloc-global.s
0,0 → 1,11
.text |
.nocmp |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
ldw .d2t1 *+B14($GOT(a)), A1 |
|
.global a |
.section .neardata,"aw",@progbits |
.align 2 |
.type a, @object |
.size a, 4 |
a: |
/ld/testsuite/ld-tic6x/static-app-1rb.sd
0,0 → 1,6
|
tmpdir/static-app-1rb: file format elf32-tic6x-be |
|
Contents of section \.got: |
[ \t]*100000c0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000d0 00000000 00000000 100000ec 00000000 .* |
/ld/testsuite/ld-tic6x/attr-arch-c62x-c674x.d
0,0 → 1,10
#name: C6X arch attribute merging, c62x c674x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c62x.s |
#source: attr-arch-c674x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-arch-c62x-c62x.d
0,0 → 1,10
#name: C6X arch attribute merging, c62x c62x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c62x.s |
#source: attr-arch-c62x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C62x |
/ld/testsuite/ld-tic6x/attr-arch-c64x-c62x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x c62x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x.s |
#source: attr-arch-c62x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x |
/ld/testsuite/ld-tic6x/static-app-1b.sd
0,0 → 1,6
|
tmpdir/static-app-1b: file format elf32-tic6x-be |
|
Contents of section \.got: |
[ \t]*100000c0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000d0 00000000 00000000 100000f4 00000000 .* |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s12-2.d
0,0 → 1,5
#name: C6X relocation underflow, PCR_S12 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x0fffdffc |
#source: reloc-overflow-pcr-s12.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S12.* |
/ld/testsuite/ld-tic6x/attr-wchar-02.d
0,0 → 1,11
#name: C6X wchar_t attribute merging, 0 2 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-0.s |
#source: attr-wchar-2.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_wchar_t: 4 bytes |
/ld/testsuite/ld-tic6x/static-app-1rb.dd
0,0 → 1,52
|
tmpdir/static-app-1rb: file format elf32-tic6x-be |
|
|
Disassembly of section \.text: |
|
10000000 <sub1>: |
10000000:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000004:[ \t]*00008000[ \t]*nop 5 |
|
10000008 <sub0>: |
10000008:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000000c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000010:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000014:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000018:[ \t]*00000812[ \t]*b \.S2 10000040 <sub> |
1000001c:[ \t]*00000112[ \t]*b \.S2 10000008 <sub0> |
10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1> |
10000024:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
10000028:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
1000002c:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
10000030:[ \t]*00004000[ \t]*nop 3 |
10000034:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000038:[ \t]*00008000[ \t]*nop 5 |
1000003c:[ \t]*00000000[ \t]*nop 1 |
|
10000040 <sub>: |
10000040:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
10000044:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
10000048:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
1000004c:[ \t]*00006000[ \t]*nop 4 |
10000050:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
10000054:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
10000058:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
1000005c:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000060:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000064:[ \t]*0380056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b7 |
10000068:[ \t]*0400066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b8 |
1000006c:[ \t]*04800b6e[ \t]*ldw \.D2T2 \*\+b14\(44\),b9 |
[ \t]*\.\.\. |
|
10000080 <fish>: |
10000080:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000084:[ \t]*1ffff112[ \t]*callp \.S2 10000008 <sub0>,b3 |
10000088:[ \t]*0ffff112[ \t]*b \.S2 10000008 <sub0> |
1000008c:[ \t]*10000012[ \t]*callp \.S2 10000080 <fish>,b3 |
10000090:[ \t]*00000012[ \t]*b \.S2 10000080 <fish> |
10000094:[ \t]*0200086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b4 |
10000098:[ \t]*02800a6e[ \t]*ldw \.D2T2 \*\+b14\(40\),b5 |
1000009c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
100000a0:[ \t]*0300056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b6 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-array-4-416.d
0,0 → 1,12
#name: C6X array attribute merging, 4 416 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-4.s |
#source: attr-array-416.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 4-byte |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/attr-pid-00.d
0,0 → 1,10
#name: C6X PID attribute merging, 0 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-0.s |
#source: attr-pid-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-pic-11.d
0,0 → 1,11
#name: C6X PIC attribute merging, 1 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pic-1.s |
#source: attr-pic-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_PIC: Code addressing position-independent |
/ld/testsuite/ld-tic6x/attr-unknown-1000-2.s
0,0 → 1,11
.c6xabi_attribute 1000, 2 |
/ld/testsuite/ld-tic6x/attr-array-4-816.d
0,0 → 1,6
#name: C6X array attribute merging, 4 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-4.s |
#source: attr-array-816.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/dsbt.ld
0,0 → 1,67
OUTPUT_FORMAT("elf32-tic6x-le", "elf32-tic6x-le", |
"elf32-tic6x-le") |
EXTERN (__c6xabi_DSBT_BASE); |
SECTIONS |
{ |
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x0)); . = SEGMENT_START("text-segment", 0x0) + SIZEOF_HEADERS; |
. = 0x8000; |
.hash : { *(.hash) } |
.gnu.hash : { *(.gnu.hash) } |
.dynsym : { *(.dynsym) } |
.dynstr : { *(.dynstr) } |
.gnu.version : { *(.gnu.version) } |
.gnu.version_d : { *(.gnu.version_d) } |
.gnu.version_r : { *(.gnu.version_r) } |
.rel.init : { *(.rel.init) } |
.rela.init : { *(.rela.init) } |
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } |
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } |
.rel.fini : { *(.rel.fini) } |
.rela.fini : { *(.rela.fini) } |
.rel.const : { *(.rel.const .rel.const.* .rel.gnu.linkonce.r.*) } |
.rela.const : { *(.rela.const .rela.const.* .rela.gnu.linkonce.r.*) } |
.rel.rodata : { *(.rel.rodata .rel.rodata.*) } |
.rela.rodata : { *(.rela.rodata .rela.rodata.*) } |
.rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } |
.rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } |
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } |
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } |
.rel.fardata : { *(.rel.fardata .rel.fardata.*) } |
.rela.fardata : { *(.rela.fardata .rela.fardata.*) } |
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } |
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } |
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } |
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } |
.rel.ctors : { *(.rel.ctors) } |
.rela.ctors : { *(.rela.ctors) } |
.rel.dtors : { *(.rel.dtors) } |
.rela.dtors : { *(.rela.dtors) } |
.rel.got : { *(.rel.got) } |
.rela.got : { *(.rela.got) } |
.rel.neardata : { *(.rel.neardata .rel.neardata.* .rel.gnu.linkonce.s.*) } |
.rela.neardata : { *(.rela.neardata .rela.neardata.* .rela.gnu.linkonce.s.*) } |
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.sb.*) } |
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.sb.*) } |
.rel.neardata2 : { *(.rel.neardata2 .rel.neardata2.* .rel.gnu.linkonce.s2.*) } |
.rela.neardata2 : { *(.rela.neardata2 .rela.neardata2.* .rela.gnu.linkonce.s2.*) } |
.rel.bss2 : { *(.rel.bss2 .rel.bss2.* .rel.gnu.linkonce.sb2.*) } |
.rela.bss2 : { *(.rela.bss2 .rela.bss2.* .rela.gnu.linkonce.sb2.*) } |
.rel.far : { *(.rel.far .rel.far.* .rel.gnu.linkonce.b.*) } |
.rela.far : { *(.rela.far .rela.far.* .rela.gnu.linkonce.b.*) } |
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } |
.dynamic : { *(.dynamic) } |
.data : { *(.data*) } |
. = 0x10000000; |
.rel.plt : { *(.rel.plt) } |
.rela.plt : { *(.rela.plt) } |
.plt : { *(.plt) } |
.text : { *(.text*) } |
PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); |
.got : { *(.dsbt) *(.got.plt) *(.igot.plt) *(.got) *(.igot) } |
.neardata : { *(.neardata .neardata.* .gnu.linkonce.s.*) } |
.rodata : { *(.rodata .rodata.*) } |
.bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.sb.*) *(.scommon) } |
.far : { *(.dynfar) *(.far .far.* .gnu.linkonce.b.*) *(COMMON) } |
.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) } |
/DISCARD/ : { *(*) } |
} |
/ld/testsuite/ld-tic6x/static-app-1r.sd
0,0 → 1,6
|
tmpdir/static-app-1r: file format elf32-tic6x-le |
|
Contents of section \.got: |
[ \t]*100000c0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000d0 00000000 00000000 ec000010 00000000 .* |
/ld/testsuite/ld-tic6x/static-app-1b.dd
0,0 → 1,56
|
tmpdir/static-app-1b: file format elf32-tic6x-be |
|
|
Disassembly of section \.text: |
|
10000000 <sub1>: |
10000000:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000004:[ \t]*00008000[ \t]*nop 5 |
|
10000008 <sub0>: |
10000008:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000000c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000010:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000014:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000018:[ \t]*00000812[ \t]*b \.S2 10000040 <sub> |
1000001c:[ \t]*00000112[ \t]*b \.S2 10000008 <sub0> |
10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1> |
10000024:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
10000028:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
1000002c:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
10000030:[ \t]*00004000[ \t]*nop 3 |
10000034:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000038:[ \t]*00008000[ \t]*nop 5 |
1000003c:[ \t]*00000000[ \t]*nop 1 |
|
10000040 <sub>: |
10000040:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
10000044:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
10000048:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
1000004c:[ \t]*00006000[ \t]*nop 4 |
10000050:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
10000054:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
10000058:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
1000005c:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000060:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000064:[ \t]*0380056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b7 |
10000068:[ \t]*0400066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b8 |
1000006c:[ \t]*04800d6e[ \t]*ldw \.D2T2 \*\+b14\(52\),b9 |
[ \t]*\.\.\. |
|
10000080 <fish>: |
10000080:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000084:[ \t]*1ffff112[ \t]*callp \.S2 10000008 <sub0>,b3 |
10000088:[ \t]*0ffff112[ \t]*b \.S2 10000008 <sub0> |
1000008c:[ \t]*10000012[ \t]*callp \.S2 10000080 <fish>,b3 |
10000090:[ \t]*00000012[ \t]*b \.S2 10000080 <fish> |
10000094:[ \t]*0200086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b4 |
10000098:[ \t]*02800a6e[ \t]*ldw \.D2T2 \*\+b14\(40\),b5 |
1000009c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
100000a0:[ \t]*0300056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b6 |
100000a4:[ \t]*020003a8[ \t]*mvk \.S1 7,a4 |
100000a8:[ \t]*02000068[ \t]*mvkh \.S1 0,a4 |
100000ac:[ \t]*028002a8[ \t]*mvk \.S1 5,a5 |
100000b0:[ \t]*02800068[ \t]*mvkh \.S1 0,a5 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x+ c67x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x+.s |
#source: attr-arch-c67x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x\+ |
/ld/testsuite/ld-tic6x/shared-nopid.d
0,0 → 1,5
#name: C6X shared library without PIC code |
#as: -mlittle-endian -mdsbt -mpic |
#ld: -melf32_tic6x_le -Tdsbt-inrange.ld --dsbt-index 4 -shared |
#source: got-reloc-global.s |
#warning: non-PID code |
/ld/testsuite/ld-tic6x/pcrel-reloc-local-r-rel.d
0,0 → 1,62
#name: C6X PC-relative relocations, local symbols, -r, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -r -melf32_tic6x_le |
#source: pcrel-reloc-local-1.s |
#source: pcrel-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00000000[ \t]+nop 1 |
[ \t]*4:[ \t]+00800162[ \t]+addkpc \.S2 0 <[^>]*>,b1,0 |
[ \t]*4: R_C6000_PCR_S7[ \t]+\.text\.1 |
[ \t]*8:[ \t]+00810162[ \t]+addkpc \.S2 4 <[^>]*>,b1,0 |
[ \t]*8: R_C6000_PCR_S7[ \t]+\.text\.1 |
[ \t]*c:[ \t]+00000012[ \t]+b \.S2 0 <[^>]*> |
[ \t]*c: R_C6000_PCR_S21[ \t]+\.text\.1 |
[ \t]*10:[ \t]+00000092[ \t]+b \.S2 4 <[^>]*> |
[ \t]*10: R_C6000_PCR_S21[ \t]+\.text\.1 |
[ \t]*14:[ \t]+00801022[ \t]+bdec \.S2 0 <[^>]*>,b1 |
[ \t]*14: R_C6000_PCR_S10[ \t]+\.text\.1 |
[ \t]*18:[ \t]+00803022[ \t]+bdec \.S2 4 <[^>]*>,b1 |
[ \t]*18: R_C6000_PCR_S10[ \t]+\.text\.1 |
[ \t]*1c:[ \t]+00000122[ \t]+bnop \.S2 0 <[^>]*>,0 |
[ \t]*1c: R_C6000_PCR_S12[ \t]+\.text\.1 |
[ \t]*20:[ \t]+00010122[ \t]+bnop \.S2 24 <[^>]*>,0 |
[ \t]*20: R_C6000_PCR_S12[ \t]+\.text\.1 |
[ \t]*\.\.\. |
[ \t]*44:[ \t]+00080122[ \t]+bnop \.S2 60 <[^>]*>,0 |
[ \t]*44: R_C6000_PCR_S12[ \t]+\.text\.1 |
[ \t]*48:[ \t]+00090122[ \t]+bnop \.S2 64 <[^>]*>,0 |
[ \t]*48: R_C6000_PCR_S12[ \t]+\.text\.1 |
[ \t]*4c:[ \t]+00811022[ \t]+bdec \.S2 60 <[^>]*>,b1 |
[ \t]*4c: R_C6000_PCR_S10[ \t]+\.text\.1 |
[ \t]*50:[ \t]+00813022[ \t]+bdec \.S2 64 <[^>]*>,b1 |
[ \t]*50: R_C6000_PCR_S10[ \t]+\.text\.1 |
[ \t]*54:[ \t]+00000412[ \t]+b \.S2 60 <[^>]*> |
[ \t]*54: R_C6000_PCR_S21[ \t]+\.text\.1 |
[ \t]*58:[ \t]+00000492[ \t]+b \.S2 64 <[^>]*> |
[ \t]*58: R_C6000_PCR_S21[ \t]+\.text\.1 |
[ \t]*5c:[ \t]+00880162[ \t]+addkpc \.S2 60 <[^>]*>,b1,0 |
[ \t]*5c: R_C6000_PCR_S7[ \t]+\.text\.1 |
[ \t]*60:[ \t]+00890162[ \t]+addkpc \.S2 84 <[^>]*>,b1,0 |
[ \t]*60: R_C6000_PCR_S7[ \t]+\.text\.1 |
[ \t]*\.\.\. |
|
Disassembly of section \.text\.1: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00000000[ \t]+nop 1 |
|
0+4 <[^>]*>: |
[ \t]*\.\.\. |
|
0+20 <[^>]*>: |
[ \t]*20:[ \t]+00000000[ \t]+nop 1 |
|
0+24 <[^>]*>: |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-array-416-16.d
0,0 → 1,12
#name: C6X array attribute merging, 416 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-416.s |
#source: attr-array-16.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 16-byte |
Tag_ABI_array_object_align_expected: 16-byte |
/ld/testsuite/ld-tic6x/shlib-1b.rd
0,0 → 1,123
There are 17 section headers, starting at offset 0x21c4: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4 |
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4 |
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 |
\[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4 |
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 |
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 |
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4 |
\[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 |
\[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 |
\[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 |
\[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 |
\[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 |
\[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x10000080 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 |
DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x117c contains 16 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x8118 |
0x00000006 \(SYMTAB\) 0x8048 |
0x0000000a \(STRSZ\) 37 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x70000000 \(C6000_DSBT_BASE\) 0x10000100 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x2 |
0x00000003 \(PLTGOT\) 0x1000010c |
0x00000002 \(PLTRELSZ\) 24 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x8140 |
0x00000008 \(RELASZ\) 84 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 |
1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 |
10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 |
1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 |
10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 |
|
Symbol table '\.dynsym' contains 13 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 8 |
2: 10000080 0 SECTION LOCAL DEFAULT 9 |
3: 10000100 0 SECTION LOCAL DEFAULT 10 |
4: 10000128 0 SECTION LOCAL DEFAULT 11 |
5: 10000130 0 SECTION LOCAL DEFAULT 12 |
6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 00000000 0 NOTYPE WEAK DEFAULT UND b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 00008048 0 SECTION LOCAL DEFAULT 2 |
3: 00008118 0 SECTION LOCAL DEFAULT 3 |
4: 00008140 0 SECTION LOCAL DEFAULT 4 |
5: 00008164 0 SECTION LOCAL DEFAULT 5 |
6: 0000817c 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 10000020 0 SECTION LOCAL DEFAULT 8 |
9: 10000080 0 SECTION LOCAL DEFAULT 9 |
10: 10000100 0 SECTION LOCAL DEFAULT 10 |
11: 10000128 0 SECTION LOCAL DEFAULT 11 |
12: 10000130 0 SECTION LOCAL DEFAULT 12 |
13: 00000000 0 SECTION LOCAL DEFAULT 13 |
14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 |
15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC |
16: 10000130 4 OBJECT LOCAL DEFAULT 12 c |
17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ |
18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
19: 00000000 0 NOTYPE WEAK DEFAULT UND b |
20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
/ld/testsuite/ld-tic6x/mvk-reloc-local-1-rel.s
0,0 → 1,11
.text |
.nocmp |
mvk .S1 a,a1 |
mvkl .S1 b,a2 |
.data |
a: |
.word 0 |
b: |
.word 0 |
c: |
.word 0 |
/ld/testsuite/ld-tic6x/mvk-reloc-local-r.d
0,0 → 1,27
#name: C6X MVK relocations, local symbols, -r |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: mvk-reloc-local-1.s |
#source: mvk-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*0: R_C6000_ABS_S16[ \t]+\.data |
[ \t]*4:[ \t]+01000028[ \t]+mvk \.S1 0,a2 |
[ \t]*4: R_C6000_ABS_L16[ \t]+\.data\+0x4 |
[ \t]*8:[ \t]+01800068[ \t]+mvkh \.S1 0,a3 |
[ \t]*8: R_C6000_ABS_H16[ \t]+\.data\+0x8 |
[ \t]*\.\.\. |
[ \t]*20:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*20: R_C6000_ABS_S16[ \t]+\.data\+0xc |
[ \t]*24:[ \t]+01000028[ \t]+mvk \.S1 0,a2 |
[ \t]*24: R_C6000_ABS_L16[ \t]+\.data\+0x10 |
[ \t]*28:[ \t]+01800068[ \t]+mvkh \.S1 0,a3 |
[ \t]*28: R_C6000_ABS_H16[ \t]+\.data\+0xffffff14 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/mvk-reloc-local.d
0,0 → 1,21
#name: C6X MVK relocations, local symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld |
#source: mvk-reloc-local-1.s |
#source: mvk-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00804028[ \t]+mvk \.S1 128,a1 |
10000004:[ \t]+01004228[ \t]+mvk \.S1 132,a2 |
10000008:[ \t]+01800068[ \t]+mvkh \.S1 0,a3 |
[ \t]*\.\.\. |
10000020:[ \t]+00804628[ \t]+mvk \.S1 140,a1 |
10000024:[ \t]+01004828[ \t]+mvk \.S1 144,a2 |
10000028:[ \t]+01ffffe8[ \t]+mvkh \.S1 4294901760,a3 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/discard-unwind.ld
0,0 → 1,15
/* Script for unwinding ld tests */ |
SECTIONS |
{ |
/* Read-only sections, merged into text segment: */ |
. = 0x8000; |
.text : |
{ |
*(.before) |
*(.text) |
*(.after) |
*(.c6xabi.extab*) |
} =0 |
/DISCARD/ : { *(.c6xabi.exidx*) } |
.c6xabi.attribues 0 : { *(.c6xabi.atttributes) } |
} |
/ld/testsuite/ld-tic6x/attr-wchar-0.s
0,0 → 1,15
.c6xabi_attribute Tag_ABI_wchar_t, 0 |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s21-2.d
0,0 → 1,5
#name: C6X relocation underflow, PCR_S21 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x0fbffffc |
#source: reloc-overflow-pcr-s21.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S21.* |
/ld/testsuite/ld-tic6x/static-app-1r.dd
0,0 → 1,52
|
tmpdir/static-app-1r: file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <sub1>: |
10000000:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000004:[ \t]*00008000[ \t]*nop 5 |
|
10000008 <sub0>: |
10000008:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000000c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000010:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000014:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000018:[ \t]*00000812[ \t]*b \.S2 10000040 <sub> |
1000001c:[ \t]*00000112[ \t]*b \.S2 10000008 <sub0> |
10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1> |
10000024:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
10000028:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
1000002c:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
10000030:[ \t]*00004000[ \t]*nop 3 |
10000034:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000038:[ \t]*00008000[ \t]*nop 5 |
1000003c:[ \t]*00000000[ \t]*nop 1 |
|
10000040 <sub>: |
10000040:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
10000044:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
10000048:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
1000004c:[ \t]*00006000[ \t]*nop 4 |
10000050:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
10000054:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
10000058:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
1000005c:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000060:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000064:[ \t]*0380056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b7 |
10000068:[ \t]*0400066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b8 |
1000006c:[ \t]*04800b6e[ \t]*ldw \.D2T2 \*\+b14\(44\),b9 |
[ \t]*\.\.\. |
|
10000080 <fish>: |
10000080:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000084:[ \t]*1ffff112[ \t]*callp \.S2 10000008 <sub0>,b3 |
10000088:[ \t]*0ffff112[ \t]*b \.S2 10000008 <sub0> |
1000008c:[ \t]*10000012[ \t]*callp \.S2 10000080 <fish>,b3 |
10000090:[ \t]*00000012[ \t]*b \.S2 10000080 <fish> |
10000094:[ \t]*0200086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b4 |
10000098:[ \t]*02800a6e[ \t]*ldw \.D2T2 \*\+b14\(40\),b5 |
1000009c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
100000a0:[ \t]*0300056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b6 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-wchar-11.d
0,0 → 1,11
#name: C6X wchar_t attribute merging, 1 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-1.s |
#source: attr-wchar-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_wchar_t: 2 bytes |
/ld/testsuite/ld-tic6x/got-reloc-overflow.d
0,0 → 1,5
#name: C6X GOT relocations, overflow |
#as: -mlittle-endian -mdsbt |
#ld: -melf32_tic6x_le -Tdsbt-overflow.ld --dsbt-index 4 -shared |
#source: got-reloc-global.s |
#error: .*relocation truncated to fit: R_C6000_SBR_GOT_U15_W.* |
/ld/testsuite/ld-tic6x/ehtype-reloc-1.d
0,0 → 1,14
#name: EHTYPE relocations (RELA) |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le --defsym s1=0x2a -Tdsbt-inrange.ld |
#source: ehtype-reloc-1.s |
#objdump: -s -j.data -j.text -j.got |
|
.*: *file format elf32-tic6x-le |
|
Contents of section .data: |
8018 78563412 .* |
Contents of section .text: |
10000000 08000000 0c000000 .* |
Contents of section .got: |
2001fff4 00000000 00000000 2a000000 18800000 .* |
/ld/testsuite/ld-tic6x/attr-arch-c67x+-c674x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x+ c674x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x+.s |
#source: attr-arch-c674x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-arch-c64x+.s
0,0 → 1,10
.arch c64x+ |
/ld/testsuite/ld-tic6x/shlib-app-1b.rd
0,0 → 1,127
There are 18 section headers, starting at offset 0x2168: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 00008104 001104 000036 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c A 2 11 4 |
\[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c A 2 12 4 |
\[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c A 2 13 4 |
\[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4 |
\[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 9 4 |
\[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 |
\[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 |
\[11\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4 |
\[12\] \.neardata PROGBITS 100000c0 0020c0 00000c 00 WA 0 0 4 |
\[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 |
\[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 |
\[15\] \.shstrtab STRTAB 00000000 0020e5 000080 00 0 0 1 |
\[16\] \.symtab SYMTAB 00000000 002438 0001a0 10 17 20 4 |
\[17\] \.strtab STRTAB 00000000 0025d8 000055 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000060 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x00230 0x00230 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000cc 0x000d0 RWE 0x1000 |
DYNAMIC 0x001178 0x00008178 0x00008178 0x000b8 0x000b8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.rela\.bss \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1178 contains 18 entries: |
Tag Type Name/Value |
0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtestb\.so\] |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x8104 |
0x00000006 \(SYMTAB\) 0x8044 |
0x0000000a \(STRSZ\) 54 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000003 \(PLTGOT\) 0x100000ac |
0x00000002 \(PLTRELSZ\) 12 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x813c |
0x00000008 \(RELASZ\) 72 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x113c contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 |
100000bc 00000b01 R_C6000_ABS32 100000cc a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1154 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000c4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
100000c8 00000901 R_C6000_ABS32 00000000 g2 \+ 0 |
|
Relocation section '\.rela\.bss' at offset 0x116c contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000cc 00000b1a R_C6000_COPY 100000cc a \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b4 00000a1b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 |
|
Symbol table '\.dynsym' contains 12 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 9 |
2: 10000060 0 SECTION LOCAL DEFAULT 10 |
3: 100000a0 0 SECTION LOCAL DEFAULT 11 |
4: 100000c0 0 SECTION LOCAL DEFAULT 12 |
5: 100000cc 0 SECTION LOCAL DEFAULT 13 |
6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 00000000 0 OBJECT WEAK DEFAULT UND g2 |
10: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
11: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 00008044 0 SECTION LOCAL DEFAULT 2 |
3: 00008104 0 SECTION LOCAL DEFAULT 3 |
4: 0000813c 0 SECTION LOCAL DEFAULT 4 |
5: 00008154 0 SECTION LOCAL DEFAULT 5 |
6: 0000816c 0 SECTION LOCAL DEFAULT 6 |
7: 00008178 0 SECTION LOCAL DEFAULT 7 |
8: 10000000 0 SECTION LOCAL DEFAULT 8 |
9: 10000020 0 SECTION LOCAL DEFAULT 9 |
10: 10000060 0 SECTION LOCAL DEFAULT 10 |
11: 100000a0 0 SECTION LOCAL DEFAULT 11 |
12: 100000c0 0 SECTION LOCAL DEFAULT 12 |
13: 100000cc 0 SECTION LOCAL DEFAULT 13 |
14: 00000000 0 SECTION LOCAL DEFAULT 14 |
15: 10000060 0 NOTYPE LOCAL DEFAULT 10 fish |
16: 100000c4 8 OBJECT LOCAL DEFAULT 12 w |
17: 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC |
18: 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ |
19: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
20: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b |
21: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
23: 00000000 0 OBJECT WEAK DEFAULT UND g2 |
24: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
25: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a |
/ld/testsuite/ld-tic6x/attr-pid-2.s
0,0 → 1,127
.c6xabi_attribute Tag_ABI_PID, 2 |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-w-1.d
0,0 → 1,5
#name: C6X relocation overflow, SBR_U15_W |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0x20080 |
#source: reloc-overflow-sbr-u15-w.s |
#error: .*relocation truncated to fit: R_C6000_SBR_U15_W.* |
/ld/testsuite/ld-tic6x/shlib-1r.rd
0,0 → 1,123
There are 17 section headers, starting at offset 0x21c4: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4 |
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4 |
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 |
\[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4 |
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 |
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 |
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4 |
\[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 |
\[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 |
\[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 |
\[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 |
\[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 |
\[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x10000080 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 |
DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x117c contains 16 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x8118 |
0x00000006 \(SYMTAB\) 0x8048 |
0x0000000a \(STRSZ\) 37 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x70000000 \(C6000_DSBT_BASE\) 0x10000100 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x2 |
0x00000003 \(PLTGOT\) 0x1000010c |
0x00000002 \(PLTRELSZ\) 24 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x8140 |
0x00000008 \(RELASZ\) 84 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 |
1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 |
10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 |
1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 |
10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 |
|
Symbol table '\.dynsym' contains 13 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 8 |
2: 10000080 0 SECTION LOCAL DEFAULT 9 |
3: 10000100 0 SECTION LOCAL DEFAULT 10 |
4: 10000128 0 SECTION LOCAL DEFAULT 11 |
5: 10000130 0 SECTION LOCAL DEFAULT 12 |
6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 00000000 0 NOTYPE WEAK DEFAULT UND b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 00008048 0 SECTION LOCAL DEFAULT 2 |
3: 00008118 0 SECTION LOCAL DEFAULT 3 |
4: 00008140 0 SECTION LOCAL DEFAULT 4 |
5: 00008164 0 SECTION LOCAL DEFAULT 5 |
6: 0000817c 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 10000020 0 SECTION LOCAL DEFAULT 8 |
9: 10000080 0 SECTION LOCAL DEFAULT 9 |
10: 10000100 0 SECTION LOCAL DEFAULT 10 |
11: 10000128 0 SECTION LOCAL DEFAULT 11 |
12: 10000130 0 SECTION LOCAL DEFAULT 12 |
13: 00000000 0 SECTION LOCAL DEFAULT 13 |
14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 |
15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC |
16: 10000130 4 OBJECT LOCAL DEFAULT 12 c |
17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ |
18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
19: 00000000 0 NOTYPE WEAK DEFAULT UND b |
20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
/ld/testsuite/ld-tic6x/attr-arch-c62x-c67x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c62x c67x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c62x.s |
#source: attr-arch-c67x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x\+ |
/ld/testsuite/ld-tic6x/attr-arch-c67x+-c62x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x+ c62x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x+.s |
#source: attr-arch-c62x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x\+ |
/ld/testsuite/ld-tic6x/attr-unknown-2.d
0,0 → 1,6
#name: C6X unknown attribute merging 2 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-unknown-55-a.s |
#source: attr-unknown-55-a.s |
#error: .*error: unknown mandatory EABI object attribute 55 |
/ld/testsuite/ld-tic6x/mvk-reloc-global-rel.d
0,0 → 1,20
#name: C6X MVK relocations, global symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s0=0 --defsym s7fff=0x7fff --defsym s80000000=0x80000000 --defsym sffff8000=0xffff8000 --defsym sffffffff=0xffffffff |
#source: mvk-reloc-global-rel.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
10000004:[ \t]+00ffffa8[ \t]+mvk \.S1 -1,a1 |
10000008:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
1000000c:[ \t]+00ffff28[ \t]+mvk \.S1 -2,a1 |
10000010:[ \t]+00c00028[ \t]+mvk \.S1 -32768,a1 |
10000014:[ \t]+00c00028[ \t]+mvk \.S1 -32768,a1 |
10000018:[ \t]+00bfffa8[ \t]+mvk \.S1 32767,a1 |
1000001c:[ \t]+00000000[ \t]+nop 1 |
/ld/testsuite/ld-tic6x/ehtype-reloc-1.s
0,0 → 1,9
.globl s2 |
.globl _start |
.text |
_start: |
.ehtype s1 |
.ehtype s2 |
.data |
s2: |
.word 0x12345678 |
/ld/testsuite/ld-tic6x/attr-conformance-none.s
0,0 → 1,9
# No conformance attribute. |
/ld/testsuite/ld-tic6x/data-reloc-local-1.s
0,0 → 1,5
.data |
a: |
.word a |
b: |
.word b |
/ld/testsuite/ld-tic6x/attr-arch-c64x-c674x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x c674x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x.s |
#source: attr-arch-c674x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/unwind.ld
0,0 → 1,20
/* Script for unwinding ld tests */ |
SECTIONS |
{ |
/* Read-only sections, merged into text segment: */ |
. = 0x8000; |
.text : |
{ |
*(.before) |
*(.text) |
*(.after) |
*(.c6xabi.extab*) |
} =0 |
. = 0x9000; |
.c6xabi.exidx : { *(.c6xabi.exidx*) } |
. = 0xa000; |
.got : { *(.got) *(.got.plt)} |
. = 0x12340000; |
.far : { *(.far) } |
.c6xabi.attribues 0 : { *(.c6xabi.atttributes) } |
} |
/ld/testsuite/ld-tic6x/shlib-app-1r.rd
0,0 → 1,115
There are 17 section headers, starting at offset 0x2158: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 000030 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 0000810c 00110c 000018 0c A 2 10 4 |
\[ 5\] \.rela\.bss RELA 00008124 001124 00000c 0c A 2 12 4 |
\[ 6\] \.dynamic DYNAMIC 00008130 001130 0000b8 08 WA 3 0 4 |
\[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 8 4 |
\[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 |
\[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 |
\[10\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4 |
\[11\] \.neardata PROGBITS 100000c0 0020c0 000004 00 WA 0 0 4 |
\[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 |
\[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 |
\[14\] \.shstrtab STRTAB 00000000 0020dd 00007b 00 0 0 1 |
\[15\] \.symtab SYMTAB 00000000 002400 000160 10 16 18 4 |
\[16\] \.strtab STRTAB 00000000 002560 00004d 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000060 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x001e8 0x001e8 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000c4 0x000c8 RWE 0x1000 |
DYNAMIC 0x001130 0x00008130 0x00008130 0x000b8 0x000b8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.bss \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1130 contains 18 entries: |
Tag Type Name/Value |
0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtestr\.so\] |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x80dc |
0x00000006 \(SYMTAB\) 0x803c |
0x0000000a \(STRSZ\) 48 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000003 \(PLTGOT\) 0x100000ac |
0x00000002 \(PLTRELSZ\) 12 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x810c |
0x00000008 \(RELASZ\) 48 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x110c contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 |
100000bc 00000901 R_C6000_ABS32 100000c4 a \+ 0 |
|
Relocation section '\.rela\.bss' at offset 0x1124 contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000c4 0000091a R_C6000_COPY 100000c4 a \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000b4 0000081b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 |
|
Symbol table '\.dynsym' contains 10 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 8 |
2: 10000060 0 SECTION LOCAL DEFAULT 9 |
3: 100000a0 0 SECTION LOCAL DEFAULT 10 |
4: 100000c0 0 SECTION LOCAL DEFAULT 11 |
5: 100000c4 0 SECTION LOCAL DEFAULT 12 |
6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b |
8: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
9: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a |
|
Symbol table '\.symtab' contains 22 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 0000803c 0 SECTION LOCAL DEFAULT 2 |
3: 000080dc 0 SECTION LOCAL DEFAULT 3 |
4: 0000810c 0 SECTION LOCAL DEFAULT 4 |
5: 00008124 0 SECTION LOCAL DEFAULT 5 |
6: 00008130 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 10000020 0 SECTION LOCAL DEFAULT 8 |
9: 10000060 0 SECTION LOCAL DEFAULT 9 |
10: 100000a0 0 SECTION LOCAL DEFAULT 10 |
11: 100000c0 0 SECTION LOCAL DEFAULT 11 |
12: 100000c4 0 SECTION LOCAL DEFAULT 12 |
13: 00000000 0 SECTION LOCAL DEFAULT 13 |
14: 10000060 0 NOTYPE LOCAL DEFAULT 9 fish |
15: 00008130 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC |
16: 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ |
17: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
18: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b |
19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
20: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 |
21: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a |
/ld/testsuite/ld-tic6x/shlib-1b.sd
0,0 → 1,7
|
tmpdir/libtestb\.so: file format elf32-tic6x-be |
|
Contents of section \.got: |
[ \t]*10000100 00000000 00000000 00000000 00000000 .* |
[ \t]*10000110 00000000 10000020 10000020 00000000 .* |
[ \t]*10000120 10000130 00000000 .* |
/ld/testsuite/ld-tic6x/pcrel-reloc-global-rel.d
0,0 → 1,20
#name: C6X PC-relative relocations, global symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s7a=0x0fffff00 --defsym s7b=0x100000fc --defsym s10a=0x0ffff800 --defsym s10b=0x100007fc --defsym s12a=0x0fffe000 --defsym s12b=0x10001ffc --defsym s21a=0x0fc00000 --defsym s21b=0x103ffffc |
#source: pcrel-reloc-global.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00c00162[ \t]+addkpc \.S2 fffff00 <[^>]*>,b1,0 |
10000004:[ \t]+00bf0162[ \t]+addkpc \.S2 100000fc <[^>]*>,b1,0 |
10000008:[ \t]+08000012[ \t]+b \.S2 fc00000 <[^>]*> |
1000000c:[ \t]+07ffff92[ \t]+b \.S2 103ffffc <[^>]*> |
10000010:[ \t]+00c01022[ \t]+bdec \.S2 ffff800 <[^>]*>,b1 |
10000014:[ \t]+00bff022[ \t]+bdec \.S2 100007fc <[^>]*>,b1 |
10000018:[ \t]+08000122[ \t]+bnop \.S2 fffe000 <[^>]*>,0 |
1000001c:[ \t]+07ff0122[ \t]+bnop \.S2 10001ffc <[^>]*>,0 |
/ld/testsuite/ld-tic6x/static-app-1.rd
0,0 → 1,112
There are 15 section headers, starting at offset 0x2180: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4 |
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4 |
\[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c A 2 9 4 |
\[ 6\] \.dynamic DYNAMIC 00008150 001150 000090 08 WA 3 0 4 |
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 |
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 |
\[ 9\] \.neardata PROGBITS 100000e0 0020e0 000014 00 WA 0 0 4 |
\[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 |
\[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 |
\[12\] \.shstrtab STRTAB 00000000 00210d 000071 00 0 0 1 |
\[13\] \.symtab SYMTAB 00000000 0023d8 0001a0 10 14 19 4 |
\[14\] \.strtab STRTAB 00000000 002578 000060 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is EXEC \(Executable file\) |
Entry point 0x10000000 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x001e0 0x001e0 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x000f4 0x000f8 RWE 0x1000 |
DYNAMIC 0x001150 0x00008150 0x00008150 0x00090 0x00090 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x1150 contains 13 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x80dc |
0x00000006 \(SYMTAB\) 0x803c |
0x0000000a \(STRSZ\) 29 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000015 \(DEBUG\) 0x0 |
0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x0 |
0x00000007 \(RELA\) 0x80fc |
0x00000008 \(RELASZ\) 84 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000d8 00000401 R_C6000_ABS32 100000f4 \.bss \+ 0 |
100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 |
100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1120 contains 4 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 |
100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
100000ec 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
100000f0 00000301 R_C6000_ABS32 100000e0 \.neardata \+ 4 |
|
Symbol table '\.dynsym' contains 10 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000000 0 SECTION LOCAL DEFAULT 7 |
2: 100000c0 0 SECTION LOCAL DEFAULT 8 |
3: 100000e0 0 SECTION LOCAL DEFAULT 9 |
4: 100000f4 0 SECTION LOCAL DEFAULT 10 |
5: 100000f4 4 OBJECT LOCAL DEFAULT 10 c |
6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 0000803c 0 SECTION LOCAL DEFAULT 2 |
3: 000080dc 0 SECTION LOCAL DEFAULT 3 |
4: 000080fc 0 SECTION LOCAL DEFAULT 4 |
5: 00008120 0 SECTION LOCAL DEFAULT 5 |
6: 00008150 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 100000c0 0 SECTION LOCAL DEFAULT 8 |
9: 100000e0 0 SECTION LOCAL DEFAULT 9 |
10: 100000f4 0 SECTION LOCAL DEFAULT 10 |
11: 00000000 0 SECTION LOCAL DEFAULT 11 |
12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 |
13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish |
14: 100000ec 8 OBJECT LOCAL DEFAULT 9 w |
15: 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC |
16: 100000f4 4 OBJECT LOCAL DEFAULT 10 c |
17: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ |
18: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
19: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b |
20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
22: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 |
23: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 |
24: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a |
25: 10000040 52 FUNC GLOBAL DEFAULT 7 sub |
/ld/testsuite/ld-tic6x/attr-arch-c64x.s
0,0 → 1,112
.arch c64x |
/ld/testsuite/ld-tic6x/attr-compatibility-gnu-other.d
0,0 → 1,6
#name: C6X compatibility attribute merging, gnu other |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-compatibility-gnu.s |
#source: attr-compatibility-other.s |
#error: .*Object has vendor-specific contents that must be processed by the 'other' toolchain |
/ld/testsuite/ld-tic6x/attr-wchar-20.d
0,0 → 1,11
#name: C6X wchar_t attribute merging, 2 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-2.s |
#source: attr-wchar-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_wchar_t: 4 bytes |
/ld/testsuite/ld-tic6x/mvk-reloc-global-rel.s
0,0 → 1,14
.globl s0 |
.globl s7fff |
.globl s80000000 |
.globl sffff8000 |
.globl sffffffff |
.text |
.nocmp |
mvkl .S1 s80000000,a1 |
mvkl .S1 sffffffff,a1 |
mvkl .S1 s0,a1 |
mvkl .S1 sffffffff+0xffffffff,a1 |
mvk .S1 sffff8000,a1 |
mvk .S1 s0-0x8000,a1 |
mvk .S1 s7fff,a1 |
/ld/testsuite/ld-tic6x/attr-stack-816-8.d
0,0 → 1,10
#name: C6X stack attribute merging, 816 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-816.s |
#source: attr-stack-8.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-conformance-10-10.d
0,0 → 1,11
#name: C6X conformance attribute merging, 10 10 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-10.s |
#source: attr-conformance-10.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ABI_conformance: "1.0" |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/weak-data.d
0,0 → 1,11
#name: C6X ABS relocs to undefined weak symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld |
#source: weak.s |
#objdump: -s -j .data |
|
.*: *file format elf32-tic6x-le |
|
|
Contents of section \.data: |
[ \t]+0+80 00000000 00000000[ \t]+\.*[ \t]* |
/ld/testsuite/ld-tic6x/attr-pid-01.d
0,0 → 1,11
#name: C6X PID attribute merging, 0 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-0.s |
#source: attr-pid-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
|
/ld/testsuite/ld-tic6x/shlib-app-1b.sd
0,0 → 1,6
|
tmpdir/shlib-dynapp-1b: file format elf32-tic6x-be |
|
Contents of section \.got: |
[ \t]*100000a0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000b0 00000000 10000020 00000000 00000000 .* |
/ld/testsuite/ld-tic6x/common.ld
0,0 → 1,11
SECTIONS |
{ |
. = 0x80; |
.far : { *(.far) *(COMMON) } |
. = 0x100; |
.bss : { *(.scommon) } |
|
. = 0x10000000; |
.text : { *(.text*) } |
/DISCARD/ : { *(*) } |
} |
/ld/testsuite/ld-tic6x/shlib-1r.sd
0,0 → 1,7
|
tmpdir/libtestr\.so: file format elf32-tic6x-le |
|
Contents of section \.got: |
[ \t]*10000100 00000000 00000000 00000000 00000000 .* |
[ \t]*10000110 00000000 20000010 20000010 00000000 .* |
[ \t]*10000120 30010010 00000000 .* |
/ld/testsuite/ld-tic6x/attr-stack-816-816.d
0,0 → 1,11
#name: C6X stack attribute merging, 816 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-816.s |
#source: attr-stack-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_stack_align_preserved: 16-byte |
/ld/testsuite/ld-tic6x/shlib-1b.dd
0,0 → 1,67
|
tmpdir/libtestb\.so: file format elf32-tic6x-be |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
|
10000050 <sub@plt>: |
10000050:[ \t]*0100066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b2 |
10000054:[ \t]*0000062a[ \t]*mvk \.S2 12,b0 |
10000058:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
1000005c:[ \t]*00002000[ \t]*nop 2 |
10000060:[ \t]*00080362[ \t]*b \.S2 b2 |
10000064:[ \t]*00008000[ \t]*nop 5 |
\.\.\. |
|
Disassembly of section \.text: |
|
10000080 <sub1>: |
10000080:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000084:[ \t]*00008000[ \t]*nop 5 |
|
10000088 <sub0>: |
10000088:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000008c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000090:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000094:[ \t]*0700026e[ \t]*ldw \.D2T2 \*\+b14\(8\),b14 |
10000098:[ \t]*0ffffa12[ \t]*b \.S2 10000050 <sub@plt> |
1000009c:[ \t]*0ffff712[ \t]*b \.S2 10000038 <sub0@plt> |
100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1> |
100000a4:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
100000a8:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
100000ac:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
100000b0:[ \t]*00004000[ \t]*nop 3 |
100000b4:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000b8:[ \t]*00008000[ \t]*nop 5 |
100000bc:[ \t]*00000000[ \t]*nop 1 |
|
100000c0 <sub>: |
100000c0:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
100000c4:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
100000c8:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
100000cc:[ \t]*00006000[ \t]*nop 4 |
100000d0:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
100000d4:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
100000d8:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
100000dc:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000e0:[ \t]*0300096e[ \t]*ldw \.D2T2 \*\+b14\(36\),b6 |
100000e4:[ \t]*0380076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b7 |
100000e8:[ \t]*0400086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b8 |
100000ec:[ \t]*04800c6e[ \t]*ldw \.D2T2 \*\+b14\(48\),b9 |
\.\.\. |
/ld/testsuite/ld-tic6x/attr-arch-c67x-c64x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x c64x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x.s |
#source: attr-arch-c64x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-8.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_array_object_align_expected, 0 |
.c6xabi_attribute Tag_ABI_array_object_alignment, 0 |
/ld/testsuite/ld-tic6x/reloc-overflow-abs16-1.d
0,0 → 1,5
#name: C6X relocation overflow, ABS16 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x10000 |
#source: reloc-overflow-abs16.s |
#error: .*relocation truncated to fit: R_C6000_ABS16.* |
/ld/testsuite/ld-tic6x/attr-conformance-11-none.d
0,0 → 1,10
#name: C6X conformance attribute merging, 11 none |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-11.s |
#source: attr-conformance-none.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/sbr-reloc-local-2-rel.s
0,0 → 1,21
.text |
.nocmp |
ldw .D2T2 *+b14(e),b1 |
ldw .D2T2 *+b14(f),b1 |
ldh .D2T2 *+b14(f),b1 |
ldh .D2T2 *+b14(g),b1 |
ldb .D2T2 *+b14(g),b1 |
ldb .D2T2 *+b14(h),b1 |
mvk .S1 $dpr_byte(h),a1 |
mvkl .S1 $dpr_byte(g),a1 |
mvkl .S1 $dpr_hword(f),a1 |
mvkl .S1 $dpr_word(e),a1 |
.data |
e: |
.word 0 |
f: |
.short 0 |
g: |
.byte 0 |
h: |
.byte 0 |
/ld/testsuite/ld-tic6x/attr-arch-c674x-c64x.d
0,0 → 1,10
#name: C6X arch attribute merging, c674x c64x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c674x.s |
#source: attr-arch-c64x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/shlib-app-1r.sd
0,0 → 1,6
|
tmpdir/shlib-dynapp-1r: file format elf32-tic6x-le |
|
Contents of section \.got: |
[ \t]*100000a0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000b0 00000000 20000010 00000000 00000000 .* |
/ld/testsuite/ld-tic6x/shlib-app-1b.dd
0,0 → 1,40
|
tmpdir/shlib-dynapp-1b: file format elf32-tic6x-be |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
[ \t]*\.\.\. |
|
Disassembly of section \.text: |
|
10000060 <fish>: |
10000060:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000064:[ \t]*1ffffb12[ \t]*callp \.S2 10000038 <sub0@plt>,b3 |
10000068:[ \t]*0ffffb12[ \t]*b \.S2 10000038 <sub0@plt> |
1000006c:[ \t]*10000012[ \t]*callp \.S2 10000060 <fish>,b3 |
10000070:[ \t]*00000012[ \t]*b \.S2 10000060 <fish> |
10000074:[ \t]*02000b6e[ \t]*ldw \.D2T2 \*\+b14\(44\),b4 |
10000078:[ \t]*0280086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b5 |
1000007c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000080:[ \t]*0300066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b6 |
10000084:[ \t]*020003a8[ \t]*mvk \.S1 7,a4 |
10000088:[ \t]*02000068[ \t]*mvkh \.S1 0,a4 |
1000008c:[ \t]*02800328[ \t]*mvk \.S1 6,a5 |
10000090:[ \t]*02800068[ \t]*mvkh \.S1 0,a5 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x+ c67x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x+.s |
#source: attr-arch-c67x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x\+ |
/ld/testsuite/ld-tic6x/shlib-1r.dd
0,0 → 1,67
|
tmpdir/libtestr\.so: file format elf32-tic6x-le |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
|
10000050 <sub@plt>: |
10000050:[ \t]*0100066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b2 |
10000054:[ \t]*0000062a[ \t]*mvk \.S2 12,b0 |
10000058:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
1000005c:[ \t]*00002000[ \t]*nop 2 |
10000060:[ \t]*00080362[ \t]*b \.S2 b2 |
10000064:[ \t]*00008000[ \t]*nop 5 |
\.\.\. |
|
Disassembly of section \.text: |
|
10000080 <sub1>: |
10000080:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000084:[ \t]*00008000[ \t]*nop 5 |
|
10000088 <sub0>: |
10000088:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000008c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000090:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000094:[ \t]*0700026e[ \t]*ldw \.D2T2 \*\+b14\(8\),b14 |
10000098:[ \t]*0ffffa12[ \t]*b \.S2 10000050 <sub@plt> |
1000009c:[ \t]*0ffff712[ \t]*b \.S2 10000038 <sub0@plt> |
100000a0:[ \t]*0ffffc12[ \t]*b \.S2 10000080 <sub1> |
100000a4:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
100000a8:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
100000ac:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
100000b0:[ \t]*00004000[ \t]*nop 3 |
100000b4:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000b8:[ \t]*00008000[ \t]*nop 5 |
100000bc:[ \t]*00000000[ \t]*nop 1 |
|
100000c0 <sub>: |
100000c0:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
100000c4:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
100000c8:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
100000cc:[ \t]*00006000[ \t]*nop 4 |
100000d0:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
100000d4:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
100000d8:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
100000dc:[ \t]*000c0362[ \t]*b \.S2 b3 |
100000e0:[ \t]*0300096e[ \t]*ldw \.D2T2 \*\+b14\(36\),b6 |
100000e4:[ \t]*0380076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b7 |
100000e8:[ \t]*0400086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b8 |
100000ec:[ \t]*04800c6e[ \t]*ldw \.D2T2 \*\+b14\(48\),b9 |
\.\.\. |
/ld/testsuite/ld-tic6x/static-app-1.sd
0,0 → 1,6
|
tmpdir/static-app-1: file format elf32-tic6x-le |
|
Contents of section \.got: |
[ \t]*100000c0 00000000 00000000 00000000 00000000 .* |
[ \t]*100000d0 00000000 00000000 f4000010 00000000 .* |
/ld/testsuite/ld-tic6x/attr-wchar-1.s
0,0 → 1,6
.c6xabi_attribute Tag_ABI_wchar_t, 1 |
/ld/testsuite/ld-tic6x/attr-unknown-71-a.s
0,0 → 1,6
.c6xabi_attribute 71, "a" |
/ld/testsuite/ld-tic6x/attr-arch-c64x+-c674x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x+ c674x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x+.s |
#source: attr-arch-c674x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-wchar-12.d
0,0 → 1,6
#name: C6X wchar_t attribute merging, 1 2 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-1.s |
#source: attr-wchar-2.s |
#warning: .*differ in wchar_t size |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-s16-1.d
0,0 → 1,5
#name: C6X relocation overflow, SBR_S16 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0x8080 |
#source: reloc-overflow-sbr-s16.s |
#error: .*relocation truncated to fit: R_C6000_SBR_S16.* |
/ld/testsuite/ld-tic6x/attr-pid-10.d
0,0 → 1,11
#name: C6X PID attribute merging, 1 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-1.s |
#source: attr-pid-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
|
/ld/testsuite/ld-tic6x/shlib-app-1r.dd
0,0 → 1,36
|
tmpdir/shlib-dynapp-1r: file format elf32-tic6x-le |
|
|
Disassembly of section \.plt: |
|
10000020 <sub0@plt-0x18>: |
10000020:[ \t]*0100036e[ \t]*ldw \.D2T2 \*\+b14\(12\),b2 |
10000024:[ \t]*0080046e[ \t]*ldw \.D2T2 \*\+b14\(16\),b1 |
10000028:[ \t]*00004000[ \t]*nop 3 |
1000002c:[ \t]*00080362[ \t]*b \.S2 b2 |
10000030:[ \t]*00008000[ \t]*nop 5 |
10000034:[ \t]*00000000[ \t]*nop 1 |
|
10000038 <sub0@plt>: |
10000038:[ \t]*0100056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b2 |
1000003c:[ \t]*0000002a[ \t]*mvk \.S2 0,b0 |
10000040:[ \t]*0000006a[ \t]*mvkh \.S2 0,b0 |
10000044:[ \t]*00002000[ \t]*nop 2 |
10000048:[ \t]*00080362[ \t]*b \.S2 b2 |
1000004c:[ \t]*00008000[ \t]*nop 5 |
[ \t]*\.\.\. |
|
Disassembly of section \.text: |
|
10000060 <fish>: |
10000060:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000064:[ \t]*1ffffb12[ \t]*callp \.S2 10000038 <sub0@plt>,b3 |
10000068:[ \t]*0ffffb12[ \t]*b \.S2 10000038 <sub0@plt> |
1000006c:[ \t]*10000012[ \t]*callp \.S2 10000060 <fish>,b3 |
10000070:[ \t]*00000012[ \t]*b \.S2 10000060 <fish> |
10000074:[ \t]*0200096e[ \t]*ldw \.D2T2 \*\+b14\(36\),b4 |
10000078:[ \t]*0280086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b5 |
1000007c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000080:[ \t]*0300066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b6 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-w-2.d
0,0 → 1,5
#name: C6X relocation underflow, SBR_U15_W |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0x7c |
#source: reloc-overflow-sbr-u15-w.s |
#error: .*relocation truncated to fit: R_C6000_SBR_U15_W.* |
/ld/testsuite/ld-tic6x/attr-unknown-3.d
0,0 → 1,12
#name: C6X unknown attribute merging 3 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-unknown-71-a.s |
#source: attr-unknown-71-a.s |
#warning: .*warning: unknown EABI object attribute 71 |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_unknown_71: "a" |
/ld/testsuite/ld-tic6x/attr-arch-c64x-c67x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x c67x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x.s |
#source: attr-arch-c67x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/static-app-1.dd
0,0 → 1,56
|
tmpdir/static-app-1: file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <sub1>: |
10000000:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000004:[ \t]*00008000[ \t]*nop 5 |
|
10000008 <sub0>: |
10000008:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
1000000c:[ \t]*01bc62f6[ \t]*stw \.D2T2 b3,\*\+b15\(12\) |
10000010:[ \t]*073c82f6[ \t]*stw \.D2T2 b14,\*\+b15\(16\) |
10000014:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000018:[ \t]*00000812[ \t]*b \.S2 10000040 <sub> |
1000001c:[ \t]*00000112[ \t]*b \.S2 10000008 <sub0> |
10000020:[ \t]*0ffffc12[ \t]*b \.S2 10000000 <sub1> |
10000024:[ \t]*01bc62e6[ \t]*ldw \.D2T2 \*\+b15\(12\),b3 |
10000028:[ \t]*073c82e6[ \t]*ldw \.D2T2 \*\+b15\(16\),b14 |
1000002c:[ \t]*07800852[ \t]*addk \.S2 16,b15 |
10000030:[ \t]*00004000[ \t]*nop 3 |
10000034:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000038:[ \t]*00008000[ \t]*nop 5 |
1000003c:[ \t]*00000000[ \t]*nop 1 |
|
10000040 <sub>: |
10000040:[ \t]*07be09c2[ \t]*sub \.D2 b15,16,b15 |
10000044:[ \t]*023c62f4[ \t]*stw \.D2T1 a4,\*\+b15\(12\) |
10000048:[ \t]*003c62e4[ \t]*ldw \.D2T1 \*\+b15\(12\),a0 |
1000004c:[ \t]*00006000[ \t]*nop 4 |
10000050:[ \t]*00014940[ \t]*add \.D1 a0,10,a0 |
10000054:[ \t]*020008f0[ \t]*or \.D1 0,a0,a4 |
10000058:[ \t]*07be0942[ \t]*add \.D2 b15,16,b15 |
1000005c:[ \t]*000c0362[ \t]*b \.S2 b3 |
10000060:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
10000064:[ \t]*0380056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b7 |
10000068:[ \t]*0400066e[ \t]*ldw \.D2T2 \*\+b14\(24\),b8 |
1000006c:[ \t]*04800d6e[ \t]*ldw \.D2T2 \*\+b14\(52\),b9 |
[ \t]*\.\.\. |
|
10000080 <fish>: |
10000080:[ \t]*0700006e[ \t]*ldw \.D2T2 \*\+b14\(0\),b14 |
10000084:[ \t]*1ffff112[ \t]*callp \.S2 10000008 <sub0>,b3 |
10000088:[ \t]*0ffff112[ \t]*b \.S2 10000008 <sub0> |
1000008c:[ \t]*10000012[ \t]*callp \.S2 10000080 <fish>,b3 |
10000090:[ \t]*00000012[ \t]*b \.S2 10000080 <fish> |
10000094:[ \t]*0200086e[ \t]*ldw \.D2T2 \*\+b14\(32\),b4 |
10000098:[ \t]*02800a6e[ \t]*ldw \.D2T2 \*\+b14\(40\),b5 |
1000009c:[ \t]*0300076e[ \t]*ldw \.D2T2 \*\+b14\(28\),b6 |
100000a0:[ \t]*0300056e[ \t]*ldw \.D2T2 \*\+b14\(20\),b6 |
100000a4:[ \t]*020003a8[ \t]*mvk \.S1 7,a4 |
100000a8:[ \t]*02000068[ \t]*mvkh \.S1 0,a4 |
100000ac:[ \t]*028002a8[ \t]*mvk \.S1 5,a5 |
100000b0:[ \t]*02800068[ \t]*mvkh \.S1 0,a5 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-unknown-54-1.s
0,0 → 1,56
.c6xabi_attribute 54, 1 |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s7-1.d
0,0 → 1,5
#name: C6X relocation overflow, PCR_S7 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x10000100 |
#source: reloc-overflow-pcr-s7.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S7.* |
/ld/testsuite/ld-tic6x/attr-compatibility-other.s
0,0 → 1,5
.c6xabi_attribute Tag_ABI_compatibility, 1, "other" |
/ld/testsuite/ld-tic6x/attr-dsbt-0.s
0,0 → 1,5
.c6xabi_attribute Tag_ABI_DSBT, 0 |
/ld/testsuite/ld-tic6x/data-reloc-local-2.s
0,0 → 1,8
.data |
c: |
.word d |
d: |
.word c |
.short d |
.byte c |
.byte d |
/ld/testsuite/ld-tic6x/attr-compatibility-other-gnu.d
0,0 → 1,6
#name: C6X compatibility attribute merging, other gnu |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-compatibility-other.s |
#source: attr-compatibility-gnu.s |
#error: .*Object tag '1, gnu' is incompatible with tag '1, other' |
/ld/testsuite/ld-tic6x/attr-wchar-21.d
0,0 → 1,6
#name: C6X wchar_t attribute merging, 2 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-2.s |
#source: attr-wchar-1.s |
#warning: .*differ in wchar_t size |
/ld/testsuite/ld-tic6x/attr-array-4-8.d
0,0 → 1,6
#name: C6X array attribute merging, 4 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-4.s |
#source: attr-array-8.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/attr-conformance-none-none.d
0,0 → 1,10
#name: C6X conformance attribute merging, none none |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-none.s |
#source: attr-conformance-none.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-48.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_array_object_align_expected, 1 |
.c6xabi_attribute Tag_ABI_array_object_alignment, 0 |
/ld/testsuite/ld-tic6x/attr-conformance-10-11.d
0,0 → 1,10
#name: C6X conformance attribute merging, 10 11 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-10.s |
#source: attr-conformance-11.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-conformance-10.s
0,0 → 1,10
.c6xabi_attribute Tag_ABI_conformance, "1.0" |
/ld/testsuite/ld-tic6x/sbr-reloc-local-r-rel.d
0,0 → 1,55
#name: C6X SB-relative relocations, local symbols, -r, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -r -melf32_tic6x_le |
#source: sbr-reloc-local-1-rel.s |
#source: sbr-reloc-local-2-rel.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
0+ <[^>]*>: |
[ \t]*0:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
[ \t]*0: R_C6000_SBR_U15_W[ \t]+\.data |
[ \t]*4:[ \t]+0080016e[ \t]+ldw \.D2T2 \*\+b14\(4\),b1 |
[ \t]*4: R_C6000_SBR_U15_W[ \t]+\.data |
[ \t]*8:[ \t]+0080024e[ \t]+ldh \.D2T2 \*\+b14\(4\),b1 |
[ \t]*8: R_C6000_SBR_U15_H[ \t]+\.data |
[ \t]*c:[ \t]+0080034e[ \t]+ldh \.D2T2 \*\+b14\(6\),b1 |
[ \t]*c: R_C6000_SBR_U15_H[ \t]+\.data |
[ \t]*10:[ \t]+0080062e[ \t]+ldb \.D2T2 \*\+b14\(6\),b1 |
[ \t]*10: R_C6000_SBR_U15_B[ \t]+\.data |
[ \t]*14:[ \t]+0080072e[ \t]+ldb \.D2T2 \*\+b14\(7\),b1 |
[ \t]*14: R_C6000_SBR_U15_B[ \t]+\.data |
[ \t]*18:[ \t]+008003a8[ \t]+mvk \.S1 7,a1 |
[ \t]*18: R_C6000_SBR_S16[ \t]+\.data |
[ \t]*1c:[ \t]+00800328[ \t]+mvk \.S1 6,a1 |
[ \t]*1c: R_C6000_SBR_L16_B[ \t]+\.data |
[ \t]*20:[ \t]+00800128[ \t]+mvk \.S1 2,a1 |
[ \t]*20: R_C6000_SBR_L16_H[ \t]+\.data |
[ \t]*24:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*24: R_C6000_SBR_L16_W[ \t]+\.data |
[ \t]*\.\.\. |
[ \t]*40:[ \t]+0080026e[ \t]+ldw \.D2T2 \*\+b14\(8\),b1 |
[ \t]*40: R_C6000_SBR_U15_W[ \t]+\.data |
[ \t]*44:[ \t]+0080036e[ \t]+ldw \.D2T2 \*\+b14\(12\),b1 |
[ \t]*44: R_C6000_SBR_U15_W[ \t]+\.data |
[ \t]*48:[ \t]+0080064e[ \t]+ldh \.D2T2 \*\+b14\(12\),b1 |
[ \t]*48: R_C6000_SBR_U15_H[ \t]+\.data |
[ \t]*4c:[ \t]+0080074e[ \t]+ldh \.D2T2 \*\+b14\(14\),b1 |
[ \t]*4c: R_C6000_SBR_U15_H[ \t]+\.data |
[ \t]*50:[ \t]+00800e2e[ \t]+ldb \.D2T2 \*\+b14\(14\),b1 |
[ \t]*50: R_C6000_SBR_U15_B[ \t]+\.data |
[ \t]*54:[ \t]+00800f2e[ \t]+ldb \.D2T2 \*\+b14\(15\),b1 |
[ \t]*54: R_C6000_SBR_U15_B[ \t]+\.data |
[ \t]*58:[ \t]+008007a8[ \t]+mvk \.S1 15,a1 |
[ \t]*58: R_C6000_SBR_S16[ \t]+\.data |
[ \t]*5c:[ \t]+00800728[ \t]+mvk \.S1 14,a1 |
[ \t]*5c: R_C6000_SBR_L16_B[ \t]+\.data |
[ \t]*60:[ \t]+00800328[ \t]+mvk \.S1 6,a1 |
[ \t]*60: R_C6000_SBR_L16_H[ \t]+\.data |
[ \t]*64:[ \t]+00800128[ \t]+mvk \.S1 2,a1 |
[ \t]*64: R_C6000_SBR_L16_W[ \t]+\.data |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-array-8-8.d
0,0 → 1,10
#name: C6X array attribute merging, 8 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-8.s |
#source: attr-array-8.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-416-8.d
0,0 → 1,10
#name: C6X array attribute merging, 416 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-416.s |
#source: attr-array-8.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-array-816-4.d
0,0 → 1,6
#name: C6X array attribute merging, 816 4 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-816.s |
#source: attr-array-4.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/attr-pid-02.d
0,0 → 1,11
#name: C6X PID attribute merging, 0 2 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-0.s |
#source: attr-pid-2.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
|
/ld/testsuite/ld-tic6x/got-reloc-global-addend-1.d
0,0 → 1,5
#name: C6X GOT relocations, addend |
#as: -mlittle-endian -mdsbt |
#ld: -melf32_tic6x_le -Tdsbt.ld --dsbt-index 4 -shared |
#source: got-reloc-global-addend-1.s |
#error: .*relocation R_C6000_SBR_GOT_U15_W with non-zero addend 4.* |
/ld/testsuite/ld-tic6x/sbr-reloc-global-rel.d
0,0 → 1,24
#name: C6X SB-relative relocations, global symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym sw1=0x80 --defsym sw2=0x2007c --defsym sh1=0x80 --defsym sh2=0x1007e --defsym sb1=0x80 --defsym sb2=0x807f --defsym sb16a=0xffff8080 --defsym sb16b=0x807f --defsym sbw=0x123456f8 --defsym shw=0x2468ad70 --defsym sww=0x48d15a60 |
#source: sbr-reloc-global-rel.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
10000004:[ \t]+00ffff6e[ \t]+ldw \.D2T2 \*\+b14\(131068\),b1 |
10000008:[ \t]+0080004e[ \t]+ldh \.D2T2 \*\+b14\(0\),b1 |
1000000c:[ \t]+00ffff4e[ \t]+ldh \.D2T2 \*\+b14\(65534\),b1 |
10000010:[ \t]+0080002e[ \t]+ldb \.D2T2 \*\+b14\(0\),b1 |
10000014:[ \t]+00ffff2e[ \t]+ldb \.D2T2 \*\+b14\(32767\),b1 |
10000018:[ \t]+00c00028[ \t]+mvk \.S1 -32768,a1 |
1000001c:[ \t]+00bfffa8[ \t]+mvk \.S1 32767,a1 |
10000020:[ \t]+00ab3c28[ \t]+mvk \.S1 22136,a1 |
10000024:[ \t]+00ab3c28[ \t]+mvk \.S1 22136,a1 |
10000028:[ \t]+00ab3c28[ \t]+mvk \.S1 22136,a1 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-stack-816.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_stack_align_needed, 0 |
.c6xabi_attribute Tag_ABI_stack_align_preserved, 1 |
/ld/testsuite/ld-tic6x/dsbt-overflow.ld
0,0 → 1,68
EXTERN (__c6xabi_DSBT_BASE); |
SECTIONS |
{ |
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x0)); . = SEGMENT_START("text-segment", 0x0) + SIZEOF_HEADERS; |
. = 0x8000; |
.hash : { *(.hash) } |
.gnu.hash : { *(.gnu.hash) } |
.dynsym : { *(.dynsym) } |
.dynstr : { *(.dynstr) } |
.gnu.version : { *(.gnu.version) } |
.gnu.version_d : { *(.gnu.version_d) } |
.gnu.version_r : { *(.gnu.version_r) } |
.rel.init : { *(.rel.init) } |
.rela.init : { *(.rela.init) } |
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } |
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } |
.rel.fini : { *(.rel.fini) } |
.rela.fini : { *(.rela.fini) } |
.rel.const : { *(.rel.const .rel.const.* .rel.gnu.linkonce.r.*) } |
.rela.const : { *(.rela.const .rela.const.* .rela.gnu.linkonce.r.*) } |
.rel.rodata : { *(.rel.rodata .rel.rodata.*) } |
.rela.rodata : { *(.rela.rodata .rela.rodata.*) } |
.rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } |
.rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } |
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } |
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } |
.rel.fardata : { *(.rel.fardata .rel.fardata.*) } |
.rela.fardata : { *(.rela.fardata .rela.fardata.*) } |
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } |
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } |
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } |
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } |
.rel.ctors : { *(.rel.ctors) } |
.rela.ctors : { *(.rela.ctors) } |
.rel.dtors : { *(.rel.dtors) } |
.rela.dtors : { *(.rela.dtors) } |
.rel.got : { *(.rel.got) } |
.rela.got : { *(.rela.got) } |
.rel.neardata : { *(.rel.neardata .rel.neardata.* .rel.gnu.linkonce.s.*) } |
.rela.neardata : { *(.rela.neardata .rela.neardata.* .rela.gnu.linkonce.s.*) } |
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.sb.*) } |
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.sb.*) } |
.rel.neardata2 : { *(.rel.neardata2 .rel.neardata2.* .rel.gnu.linkonce.s2.*) } |
.rela.neardata2 : { *(.rela.neardata2 .rela.neardata2.* .rela.gnu.linkonce.s2.*) } |
.rel.bss2 : { *(.rel.bss2 .rel.bss2.* .rel.gnu.linkonce.sb2.*) } |
.rela.bss2 : { *(.rela.bss2 .rela.bss2.* .rela.gnu.linkonce.sb2.*) } |
.rel.far : { *(.rel.far .rel.far.* .rel.gnu.linkonce.b.*) } |
.rela.far : { *(.rela.far .rela.far.* .rela.gnu.linkonce.b.*) } |
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } |
.dynamic : { *(.dynamic) } |
.data : { *(.data*) } |
. = 0x10000000; |
.rel.plt : { *(.rel.plt) } |
.rela.plt : { *(.rela.plt) } |
.plt : { *(.plt) } |
.text : { *(.text*) } |
. = 0x20000000; |
PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); |
.dsbt : { *(.dsbt) } |
. = 0x2001fff8; |
.got : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) } |
.neardata : { *(.neardata .neardata.* .gnu.linkonce.s.*) } |
.rodata : { *(.rodata .rodata.*) } |
.bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.sb.*) *(.scommon) } |
.far : { *(.dynfar) *(.far .far.* .gnu.linkonce.b.*) *(COMMON) } |
.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) } |
/DISCARD/ : { *(*) } |
} |
/ld/testsuite/ld-tic6x/reloc-overflow-abs16-2.d
0,0 → 1,5
#name: C6X relocation underflow, ABS16 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0xffff7fff |
#source: reloc-overflow-abs16.s |
#error: .*relocation truncated to fit: R_C6000_ABS16.* |
/ld/testsuite/ld-tic6x/shlib-1.s
0,0 → 1,44
.text |
.nocmp |
.align 2 |
.hidden sub1 |
.type sub1, @function |
sub1: |
ret .s2 B3 |
nop 5 |
|
.global sub0 |
.type sub0, @function |
sub0: |
sub .d2 B15, 16, B15 |
stw .d2t2 B3, *+B15(12) |
stw .d2t2 B14, *+B15(16) |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
call .s2 (sub) |
call .s2 (sub0) |
call .s2 (sub1) |
.L2: |
ldw .d2t2 *+B15(12), B3 |
ldw .d2t2 *+B15(16), B14 |
addk .s2 16, B15 |
nop 3 |
ret .s2 B3 |
nop 5 |
.size sub0, .-sub0 |
|
.global a |
.section .neardata,"aw",@progbits |
.align 2 |
.type a, @object |
.size a, 4 |
a: |
.long sub0 |
.weak g1 |
.global g2 |
.type g2, @object |
.size g2, 4 |
g2: |
.long g1 |
|
.hidden c |
.scomm c,4,4 |
/ld/testsuite/ld-tic6x/pcrel-reloc-local-rel.d
0,0 → 1,44
#name: C6X PC-relative relocations, local symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tgeneric.ld |
#source: pcrel-reloc-local-1.s |
#source: pcrel-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00000000[ \t]+nop 1 |
10000004:[ \t]+00900162[ \t]+addkpc \.S2 10000040 <[^>]*>,b1,0 |
10000008:[ \t]+00910162[ \t]+addkpc \.S2 10000044 <[^>]*>,b1,0 |
1000000c:[ \t]+00000812[ \t]+b \.S2 10000040 <[^>]*> |
10000010:[ \t]+00000892[ \t]+b \.S2 10000044 <[^>]*> |
10000014:[ \t]+00821022[ \t]+bdec \.S2 10000040 <[^>]*>,b1 |
10000018:[ \t]+00823022[ \t]+bdec \.S2 10000044 <[^>]*>,b1 |
1000001c:[ \t]+00100122[ \t]+bnop \.S2 10000040 <[^>]*>,0 |
10000020:[ \t]+00090122[ \t]+bnop \.S2 10000044 <[^>]*>,0 |
[ \t]*\.\.\. |
|
10000040 <[^>]*>: |
10000040:[ \t]+00000000[ \t]+nop 1 |
|
10000044 <[^>]*>: |
[ \t]*\.\.\. |
10000064:[ \t]+00100122[ \t]+bnop \.S2 100000a0 <[^>]*>,0 |
10000068:[ \t]+00110122[ \t]+bnop \.S2 100000a4 <[^>]*>,0 |
1000006c:[ \t]+00821022[ \t]+bdec \.S2 100000a0 <[^>]*>,b1 |
10000070:[ \t]+00823022[ \t]+bdec \.S2 100000a4 <[^>]*>,b1 |
10000074:[ \t]+00000812[ \t]+b \.S2 100000a0 <[^>]*> |
10000078:[ \t]+00000892[ \t]+b \.S2 100000a4 <[^>]*> |
1000007c:[ \t]+00900162[ \t]+addkpc \.S2 100000a0 <[^>]*>,b1,0 |
10000080:[ \t]+00890162[ \t]+addkpc \.S2 100000a4 <[^>]*>,b1,0 |
[ \t]*\.\.\. |
|
100000a0 <[^>]*>: |
100000a0:[ \t]+00000000[ \t]+nop 1 |
|
100000a4 <[^>]*>: |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x+ c67x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x+.s |
#source: attr-arch-c67x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/got-reloc-global-addend-1.s
0,0 → 1,11
.text |
.nocmp |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
ldw .d2t1 *+B14($GOT(a)+4), A1 |
|
.global a |
.section .neardata,"aw",@progbits |
.align 2 |
.type a, @object |
.size a, 4 |
a: |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-h-1.d
0,0 → 1,5
#name: C6X relocation overflow, SBR_U15_H |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0x10080 |
#source: reloc-overflow-sbr-u15-h.s |
#error: .*relocation truncated to fit: R_C6000_SBR_U15_H.* |
/ld/testsuite/ld-tic6x/attr-stack-16-16.d
0,0 → 1,12
#name: C6X stack attribute merging, 16 16 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-16.s |
#source: attr-stack-16.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_stack_align_needed: 16-byte |
Tag_ABI_stack_align_preserved: 16-byte |
/ld/testsuite/ld-tic6x/sbr-reloc-global-rel.s
0,0 → 1,24
.globl sw1 |
.globl sw2 |
.globl sh1 |
.globl sh2 |
.globl sb1 |
.globl sb2 |
.globl sb16a |
.globl sb16b |
.globl sbw |
.globl shw |
.globl sww |
.text |
.nocmp |
ldw .D2T2 *+b14(sw1),b1 |
ldw .D2T2 *+b14(sw2),b1 |
ldh .D2T2 *+b14(sh1),b1 |
ldh .D2T2 *+b14(sh2),b1 |
ldb .D2T2 *+b14(sb1),b1 |
ldb .D2T2 *+b14(sb2),b1 |
mvk .S1 $dpr_byte(sb16a),a1 |
mvk .S1 $dpr_byte(sb16b),a1 |
mvkl .S1 $dpr_byte(sbw),a1 |
mvkl .S1 $dpr_hword(shw),a1 |
mvkl .S1 $dpr_word(sww),a1 |
/ld/testsuite/ld-tic6x/pcr-reloc.d
0,0 → 1,39
#name: C6X PCR relocations |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld |
#source: pcr-reloc.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1 |
10000004:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1 |
10000008:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1 |
|
1000000c <[^>]*>: |
1000000c:[ \t]+004003e2[ \t]+mvc \.S2 pce1,b0 |
10000010:[ \t]+01000264[ \t]+ldw \.D1T1 \*\+a0\(0\),a2 |
10000014:[ \t]+01001a2a[ \t]+mvk \.S2 52,b2 |
10000018:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2 |
1000001c:[ \t]+01000a2a[ \t]+mvk \.S2 20,b2 |
10000020:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2 |
10000024:[ \t]+01001e2a[ \t]+mvk \.S2 60,b2 |
10000028:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2 |
1000002c:[ \t]+01000e2a[ \t]+mvk \.S2 28,b2 |
10000030:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2 |
|
10000034 <[^>]*>: |
10000034:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1 |
|
10000038 <[^>]*>: |
10000038:[ \t]+004003e2[ \t]+mvc \.S2 pce1,b0 |
|
1000003c <[^>]*>: |
1000003c:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1 |
10000040:[ \t]+017ff02a[ \t]+mvk \.S2 -32,b2 |
10000044:[ \t]+017fffea[ \t]+mvkh \.S2 4294901760,b2 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-wchar-2.s
0,0 → 1,39
.c6xabi_attribute Tag_ABI_wchar_t, 2 |
/ld/testsuite/ld-tic6x/attr-unknown-71-b.s
0,0 → 1,39
.c6xabi_attribute 71, "b" |
/ld/testsuite/ld-tic6x/sbr-reloc-local-1.s
0,0 → 1,24
.text |
.nocmp |
ldw .D2T2 *+b14(a),b1 |
ldw .D2T2 *+b14(b),b1 |
ldh .D2T2 *+b14(b),b1 |
ldh .D2T2 *+b14(c),b1 |
ldb .D2T2 *+b14(c),b1 |
ldb .D2T2 *+b14(d),b1 |
mvk .S1 $dpr_byte(d),a1 |
mvkl .S1 $dpr_byte(c),a1 |
mvkh .S1 $dpr_byte(d),a1 |
mvkl .S1 $dpr_hword(b),a1 |
mvkh .S1 $dpr_hword(c),a1 |
mvkl .S1 $dpr_word(a),a1 |
mvkh .S1 $dpr_word(b),a1 |
.data |
a: |
.word 0 |
b: |
.short 0 |
c: |
.byte 0 |
d: |
.byte 0 |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-s16-2.d
0,0 → 1,5
#name: C6X relocation underflow, SBR_S16 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0xffff807f |
#source: reloc-overflow-sbr-s16.s |
#error: .*relocation truncated to fit: R_C6000_SBR_S16.* |
/ld/testsuite/ld-tic6x/data-reloc-local-r.d
0,0 → 1,23
#name: C6X data relocations, local symbols, -r |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: data-reloc-local-1.s |
#source: data-reloc-local-2.s |
#objdump: -r -s -j .data |
|
.*: *file format elf32-tic6x-le |
|
RELOCATION RECORDS FOR \[\.data\]: |
OFFSET TYPE VALUE |
0+ R_C6000_ABS32 \.data |
0+4 R_C6000_ABS32 \.data\+0x00000004 |
0+8 R_C6000_ABS32 \.data\+0x0000000c |
0+c R_C6000_ABS32 \.data\+0x00000008 |
0+10 R_C6000_ABS16 \.data\+0x0000000c |
0+12 R_C6000_ABS8 \.data\+0x00000008 |
0+13 R_C6000_ABS8 \.data\+0x0000000c |
|
|
Contents of section \.data: |
[ \t]*0000 00000000 00000000 00000000 00000000 .* |
[ \t]*0010 00000000 .* |
/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c62x c64x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c62x.s |
#source: attr-arch-c64x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x\+ |
/ld/testsuite/ld-tic6x/unwind-1.d
0,0 → 1,10
#ld: -T unwind.ld |
#objdump: -s |
|
.*: file format.* |
|
#... |
Contents of section .c6xabi.exidx: |
9000 (00f8ff7f 07020083 1cf8ff7f 01000000|7ffff800 83000207 7ffff81c 00000001) .* |
Contents of section .far: |
#... |
/ld/testsuite/ld-tic6x/attr-pid-11.d
0,0 → 1,11
#name: C6X PID attribute merging, 1 1 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-1.s |
#source: attr-pid-1.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_PID: Data addressing position-independent, GOT near DP |
/ld/testsuite/ld-tic6x/pcr-reloc.s
0,0 → 1,28
.text |
.align 5 |
_start: |
L0: |
ldw .d1t1 *a0,a1 |
ldw .d1t1 *a0,a1 |
ldw .d1t1 *a0,a1 |
L1: |
MVC .s2 PCE1, b0 |
ldw .d1t1 *a0,a2 |
mvk .s2 $PCR_OFFSET (S0,L1), b2 |
mvkh .s2 $PCR_OFFSET (S0,L1), b2 |
mvk .s2 $PCR_OFFSET (S0,L2), b2 |
mvkh .s2 $PCR_OFFSET (S0,L2), b2 |
mvk .s2 $PCR_OFFSET (S1,L1), b2 |
mvkh .s2 $PCR_OFFSET (S1,L1), b2 |
mvk .s2 $PCR_OFFSET (S1,L2), b2 |
mvkh .s2 $PCR_OFFSET (S1,L2), b2 |
|
S0: |
ldw .d1t1 *a0,a1 |
L2: |
MVC .s2 PCE1, b0 |
|
S1: |
ldw .d1t1 *a0,a1 |
mvkl .s2 $PCR_OFFSET (L0,L2), b2 |
mvkh .s2 $PCR_OFFSET (L0,L2), b2 |
/ld/testsuite/ld-tic6x/attr-stack-16-8.d
0,0 → 1,6
#name: C6X stack attribute merging, 16 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-16.s |
#source: attr-stack-8.s |
#error: .*requires more stack alignment than .* preserves |
/ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x+ c67x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x+.s |
#source: attr-arch-c67x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-arch-c674x-c674x.d
0,0 → 1,10
#name: C6X arch attribute merging, c674x c674x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c674x.s |
#source: attr-arch-c674x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-unknown-4.d
0,0 → 1,11
#name: C6X unknown attribute merging 4 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-unknown-71-a.s |
#source: attr-unknown-71-b.s |
#warning: .*warning: unknown EABI object attribute 71 |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/pcrel-reloc-local-1.s
0,0 → 1,16
.text |
.nocmp |
nop |
addkpc .S2 f1,b1,0 |
addkpc .S2 f2,b1,0 |
b .S2 f1 |
b .S2 f2 |
bdec .S2 f1,b1 |
bdec .S2 f2,b1 |
bnop .S2 f1,0 |
bnop .S2 f2,0 |
.section .text.1,"ax",@progbits |
f1: |
nop |
f2: |
nop |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s7-2.d
0,0 → 1,5
#name: C6X relocation underflow, PCR_S7 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x0ffffefc |
#source: reloc-overflow-pcr-s7.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S7.* |
/ld/testsuite/ld-tic6x/attr-stack-16-816.d
0,0 → 1,12
#name: C6X stack attribute merging, 16 816 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-stack-16.s |
#source: attr-stack-816.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_stack_align_needed: 16-byte |
Tag_ABI_stack_align_preserved: 16-byte |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-s16.s
0,0 → 1,3
.text |
.nocmp |
mvk .S1 $dpr_byte(s),a1 |
/ld/testsuite/ld-tic6x/attr-array-48-4.d
0,0 → 1,12
#name: C6X array attribute merging, 48 4 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-48.s |
#source: attr-array-4.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 4-byte |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/attr-dsbt-1.s
0,0 → 1,12
.c6xabi_attribute Tag_ABI_DSBT, 1 |
/ld/testsuite/ld-tic6x/unwind-1.s
0,0 → 1,25
.cfi_sections .c6xabi.exidx |
.text |
.global _start |
.type _start, %function |
_start: |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.endp |
|
# Section with no unwinding information. |
# Linker should insert a cantunwind entry. |
.section .after, "xa" |
.global __c6xabi_unwind_cpp_pr3 |
.type __c6xabi_unwind_cpp_pr3, %function |
__c6xabi_unwind_cpp_pr3: |
nop |
.p2align 6 |
|
.section .far |
.word 0 |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s10-1.d
0,0 → 1,5
#name: C6X relocation overflow, PCR_S10 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x10000800 |
#source: reloc-overflow-pcr-s10.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S10.* |
/ld/testsuite/ld-tic6x/attr-arch-c62x-c64x.d
0,0 → 1,10
#name: C6X arch attribute merging, c62x c64x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c62x.s |
#source: attr-arch-c64x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x |
/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x c64x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x.s |
#source: attr-arch-c64x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x |
/ld/testsuite/ld-tic6x/attr-wchar-22.d
0,0 → 1,11
#name: C6X wchar_t attribute merging, 2 2 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-wchar-2.s |
#source: attr-wchar-2.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_wchar_t: 4 bytes |
/ld/testsuite/ld-tic6x/attr-conformance-11.s
0,0 → 1,11
.c6xabi_attribute Tag_ABI_conformance, "1.1" |
/ld/testsuite/ld-tic6x/sbr-reloc-local-rel.d
0,0 → 1,35
#name: C6X SB-relative relocations, local symbols, REL |
#as: -mlittle-endian -mgenerate-rel |
#ld: -melf32_tic6x_le -Tsbr.ld |
#source: sbr-reloc-local-1-rel.s |
#source: sbr-reloc-local-2-rel.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
10000004:[ \t]+0080016e[ \t]+ldw \.D2T2 \*\+b14\(4\),b1 |
10000008:[ \t]+0080024e[ \t]+ldh \.D2T2 \*\+b14\(4\),b1 |
1000000c:[ \t]+0080034e[ \t]+ldh \.D2T2 \*\+b14\(6\),b1 |
10000010:[ \t]+0080062e[ \t]+ldb \.D2T2 \*\+b14\(6\),b1 |
10000014:[ \t]+0080072e[ \t]+ldb \.D2T2 \*\+b14\(7\),b1 |
10000018:[ \t]+008003a8[ \t]+mvk \.S1 7,a1 |
1000001c:[ \t]+00800328[ \t]+mvk \.S1 6,a1 |
10000020:[ \t]+00800128[ \t]+mvk \.S1 2,a1 |
10000024:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
[ \t]*\.\.\. |
10000040:[ \t]+0080026e[ \t]+ldw \.D2T2 \*\+b14\(8\),b1 |
10000044:[ \t]+0080036e[ \t]+ldw \.D2T2 \*\+b14\(12\),b1 |
10000048:[ \t]+0080064e[ \t]+ldh \.D2T2 \*\+b14\(12\),b1 |
1000004c:[ \t]+0080074e[ \t]+ldh \.D2T2 \*\+b14\(14\),b1 |
10000050:[ \t]+00800e2e[ \t]+ldb \.D2T2 \*\+b14\(14\),b1 |
10000054:[ \t]+00800f2e[ \t]+ldb \.D2T2 \*\+b14\(15\),b1 |
10000058:[ \t]+008007a8[ \t]+mvk \.S1 15,a1 |
1000005c:[ \t]+00800728[ \t]+mvk \.S1 14,a1 |
10000060:[ \t]+00800328[ \t]+mvk \.S1 6,a1 |
10000064:[ \t]+00800128[ \t]+mvk \.S1 2,a1 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-arch-c64x+-c62x.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x+ c62x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x+.s |
#source: attr-arch-c62x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x\+ |
/ld/testsuite/ld-tic6x/attr-pid-20.d
0,0 → 1,10
#name: C6X PID attribute merging, 2 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-2.s |
#source: attr-pid-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/got-reloc-global-addend-2.d
0,0 → 1,5
#name: C6X GOT relocations, addend |
#as: -mlittle-endian -mdsbt |
#ld: -melf32_tic6x_le -Tdsbt.ld --dsbt-index 4 -shared |
#source: got-reloc-global-addend-2.s |
#error: .*relocation R_C6000_SBR_GOT_L16_W with non-zero addend 4.* |
/ld/testsuite/ld-tic6x/data-reloc-global.d
0,0 → 1,12
#name: C6X data relocations, global symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s0=0 --defsym sff=0xff --defsym sffff=0xffff --defsym s80000000=0x80000000 --defsym sffff8000=0xffff8000 --defsym sffffff80=0xffffff80 --defsym sffffffff=0xffffffff |
#source: data-reloc-global.s |
#objdump: -r -s -j .data |
|
.*: *file format elf32-tic6x-le |
|
Contents of section \.data: |
[ \t]*0080 00000080 ffffffff 00000000 feffffff .* |
[ \t]*0090 00000000 ffffffff 00800080 0000ffff .* |
[ \t]*00a0 808000 .* |
/ld/testsuite/ld-tic6x/got-reloc-inrange.d
0,0 → 1,15
#name: C6X GOT relocations, no overflow |
#as: -mlittle-endian -mdsbt -mpic -mpid=near |
#ld: -melf32_tic6x_le -Tdsbt-inrange.ld --dsbt-index 4 -shared |
#source: got-reloc-global.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+0700046e[ \t]+ldw \.D2T2 \*\+b14\(16\),b14 |
10000004:[ \t]+00ffff6c[ \t]+ldw \.D2T1 \*\+b14\(131068\),a1 |
[ \t]+... |
/ld/testsuite/ld-tic6x/reloc-overflow-abs-s16-1.d
0,0 → 1,5
#name: C6X relocation overflow, ABS_S16 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x8000 |
#source: reloc-overflow-abs-s16.s |
#error: .*relocation truncated to fit: R_C6000_ABS_S16.* |
/ld/testsuite/ld-tic6x/attr-array-16-8.d
0,0 → 1,6
#name: C6X array attribute merging, 16 8 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-16.s |
#source: attr-array-8.s |
#error: .*requires more array alignment than .* preserves |
/ld/testsuite/ld-tic6x/shlib-2.s
0,0 → 1,23
.weak a |
.weak b |
|
.text |
.nocmp |
.align 2 |
.global sub |
.type sub, @function |
sub: |
sub .d2 B15, 16, B15 |
stw .d2t1 A4, *+B15(12) |
ldw .d2t1 *+B15(12), A0 |
nop 4 |
add .d1 A0, 10, A0 |
mv .d1 A0, A4 |
add .d2 B15, 16, B15 |
ret .s2 B3 |
ldw .d2t2 *+B14($GOT(a)), B6 |
ldw .d2t2 *+B14($GOT(b)), B7 |
ldw .d2t2 *+B14($GOT(c)), B8 |
ldw .d2t2 *+B14(c), B9 |
nop 1 |
.size sub, .-sub |
/ld/testsuite/ld-tic6x/attr-array-4-48.d
0,0 → 1,12
#name: C6X array attribute merging, 4 48 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-array-4.s |
#source: attr-array-48.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_array_object_alignment: 4-byte |
Tag_ABI_array_object_align_expected: 4-byte |
/ld/testsuite/ld-tic6x/sbr-reloc-local.d
0,0 → 1,41
#name: C6X SB-relative relocations, local symbols |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld |
#source: sbr-reloc-local-1.s |
#source: sbr-reloc-local-2.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
|
10000000 <[^>]*>: |
10000000:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
10000004:[ \t]+0080016e[ \t]+ldw \.D2T2 \*\+b14\(4\),b1 |
10000008:[ \t]+0080024e[ \t]+ldh \.D2T2 \*\+b14\(4\),b1 |
1000000c:[ \t]+0080034e[ \t]+ldh \.D2T2 \*\+b14\(6\),b1 |
10000010:[ \t]+0080062e[ \t]+ldb \.D2T2 \*\+b14\(6\),b1 |
10000014:[ \t]+0080072e[ \t]+ldb \.D2T2 \*\+b14\(7\),b1 |
10000018:[ \t]+008003a8[ \t]+mvk \.S1 7,a1 |
1000001c:[ \t]+00800328[ \t]+mvk \.S1 6,a1 |
10000020:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
10000024:[ \t]+00800128[ \t]+mvk \.S1 2,a1 |
10000028:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
1000002c:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
10000030:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*\.\.\. |
10000040:[ \t]+0080026e[ \t]+ldw \.D2T2 \*\+b14\(8\),b1 |
10000044:[ \t]+0080036e[ \t]+ldw \.D2T2 \*\+b14\(12\),b1 |
10000048:[ \t]+0080064e[ \t]+ldh \.D2T2 \*\+b14\(12\),b1 |
1000004c:[ \t]+0080074e[ \t]+ldh \.D2T2 \*\+b14\(14\),b1 |
10000050:[ \t]+00800e2e[ \t]+ldb \.D2T2 \*\+b14\(14\),b1 |
10000054:[ \t]+00800f2e[ \t]+ldb \.D2T2 \*\+b14\(15\),b1 |
10000058:[ \t]+008007a8[ \t]+mvk \.S1 15,a1 |
1000005c:[ \t]+00800728[ \t]+mvk \.S1 14,a1 |
10000060:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
10000064:[ \t]+00800328[ \t]+mvk \.S1 6,a1 |
10000068:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
1000006c:[ \t]+00800128[ \t]+mvk \.S1 2,a1 |
10000070:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
[ \t]*\.\.\. |
/ld/testsuite/ld-tic6x/attr-dsbt-00.d
0,0 → 1,10
#name: C6X DSBT attribute merging, 0 0 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-dsbt-0.s |
#source: attr-dsbt-0.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x+ c64x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x+.s |
#source: attr-arch-c64x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/got-reloc-global-addend-2.s
0,0 → 1,11
.text |
.nocmp |
ldw .d2t2 *+B14($DSBT_index(__c6xabi_DSBT_BASE)), B14 |
mvkl .s1 $DPR_GOT(a)+4, A1 |
|
.global a |
.section .neardata,"aw",@progbits |
.align 2 |
.type a, @object |
.size a, 4 |
a: |
/ld/testsuite/ld-tic6x/reloc-overflow-sbr-u15-h-2.d
0,0 → 1,5
#name: C6X relocation underflow, SBR_U15_H |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --defsym s=0x7e |
#source: reloc-overflow-sbr-u15-h.s |
#error: .*relocation truncated to fit: R_C6000_SBR_U15_H.* |
/ld/testsuite/ld-tic6x/mvk-reloc-local-2-rel.s
0,0 → 1,11
.text |
.nocmp |
mvk .S1 d,a1 |
mvkl .S1 e,a2 |
.data |
d: |
.word 0 |
e: |
.word 0 |
f: |
.word 0 |
/ld/testsuite/ld-tic6x/dsbt-index-error.d
0,0 → 1,5
#name: C6X invalid DSBT_INDEX |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld --dsbt-index 5 --dsbt-size 3 |
#source: dsbt-index.s |
#error: .*invalid --dsbt-index 5, outside DSBT size.* |
/ld/testsuite/ld-tic6x/data-reloc-global.s
0,0 → 1,23
.globl s0 |
.globl sff |
.globl sffff |
.globl s80000000 |
.globl sffff8000 |
.globl sffffff80 |
.globl sffffffff |
.data |
.word s80000000 |
.word sffffffff |
.word s0 |
.word sffffffff+0xffffffff |
.word s80000000+0x80000000 |
.short sffffffff |
.short sffff |
.short sffff8000 |
.short s0-0x8000 |
.short s80000000+0x80000000 |
.byte sffffffff |
.byte sff |
.byte sffffff80 |
.byte s0-0x80 |
.byte s80000000+0x80000000 |
/ld/testsuite/ld-tic6x/attr-array-16.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_array_object_align_expected, 2 |
.c6xabi_attribute Tag_ABI_array_object_alignment, 2 |
/ld/testsuite/ld-tic6x/dsbt-be.ld
0,0 → 1,67
OUTPUT_FORMAT("elf32-tic6x-be", "elf32-tic6x-be", |
"elf32-tic6x-be") |
EXTERN (__c6xabi_DSBT_BASE); |
SECTIONS |
{ |
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x0)); . = SEGMENT_START("text-segment", 0x0) + SIZEOF_HEADERS; |
. = 0x8000; |
.hash : { *(.hash) } |
.gnu.hash : { *(.gnu.hash) } |
.dynsym : { *(.dynsym) } |
.dynstr : { *(.dynstr) } |
.gnu.version : { *(.gnu.version) } |
.gnu.version_d : { *(.gnu.version_d) } |
.gnu.version_r : { *(.gnu.version_r) } |
.rel.init : { *(.rel.init) } |
.rela.init : { *(.rela.init) } |
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } |
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } |
.rel.fini : { *(.rel.fini) } |
.rela.fini : { *(.rela.fini) } |
.rel.const : { *(.rel.const .rel.const.* .rel.gnu.linkonce.r.*) } |
.rela.const : { *(.rela.const .rela.const.* .rela.gnu.linkonce.r.*) } |
.rel.rodata : { *(.rel.rodata .rel.rodata.*) } |
.rela.rodata : { *(.rela.rodata .rela.rodata.*) } |
.rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } |
.rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } |
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } |
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } |
.rel.fardata : { *(.rel.fardata .rel.fardata.*) } |
.rela.fardata : { *(.rela.fardata .rela.fardata.*) } |
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } |
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } |
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } |
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } |
.rel.ctors : { *(.rel.ctors) } |
.rela.ctors : { *(.rela.ctors) } |
.rel.dtors : { *(.rel.dtors) } |
.rela.dtors : { *(.rela.dtors) } |
.rel.got : { *(.rel.got) } |
.rela.got : { *(.rela.got) } |
.rel.neardata : { *(.rel.neardata .rel.neardata.* .rel.gnu.linkonce.s.*) } |
.rela.neardata : { *(.rela.neardata .rela.neardata.* .rela.gnu.linkonce.s.*) } |
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.sb.*) } |
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.sb.*) } |
.rel.neardata2 : { *(.rel.neardata2 .rel.neardata2.* .rel.gnu.linkonce.s2.*) } |
.rela.neardata2 : { *(.rela.neardata2 .rela.neardata2.* .rela.gnu.linkonce.s2.*) } |
.rel.bss2 : { *(.rel.bss2 .rel.bss2.* .rel.gnu.linkonce.sb2.*) } |
.rela.bss2 : { *(.rela.bss2 .rela.bss2.* .rela.gnu.linkonce.sb2.*) } |
.rel.far : { *(.rel.far .rel.far.* .rel.gnu.linkonce.b.*) } |
.rela.far : { *(.rela.far .rela.far.* .rela.gnu.linkonce.b.*) } |
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } |
.dynamic : { *(.dynamic) } |
.data : { *(.data*) } |
. = 0x10000000; |
.rel.plt : { *(.rel.plt) } |
.rela.plt : { *(.rela.plt) } |
.plt : { *(.plt) } |
.text : { *(.text*) } |
PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); |
.got : { *(.dsbt) *(.got.plt) *(.igot.plt) *(.got) *(.igot) } |
.neardata : { *(.neardata .neardata.* .gnu.linkonce.s.*) } |
.rodata : { *(.rodata .rodata.*) } |
.bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.sb.*) *(.scommon) } |
.far : { *(.dynfar) *(.far .far.* .gnu.linkonce.b.*) *(COMMON) } |
.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) } |
/DISCARD/ : { *(*) } |
} |
/ld/testsuite/ld-tic6x/shlib-app-1.od
0,0 → 1,13
|
tmpdir/shlib-dynapp-1: file format elf32-tic6x-le |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000b8 R_C6000_ABS32 b |
100000bc R_C6000_ABS32 a |
100000c4 R_C6000_ABS32 g1 |
100000c8 R_C6000_ABS32 g2 |
100000cc R_C6000_COPY a |
100000b4 R_C6000_JUMP_SLOT sub0 |
|
|
/ld/testsuite/ld-tic6x/reloc-overflow-abs16.s
0,0 → 1,3
.globl s |
.data |
.short s |
/ld/testsuite/ld-tic6x/attr-arch-c674x-c67x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c674x c67x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c674x.s |
#source: attr-arch-c67x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/sbr-reloc-local-2.s
0,0 → 1,24
.text |
.nocmp |
ldw .D2T2 *+b14(e),b1 |
ldw .D2T2 *+b14(f),b1 |
ldh .D2T2 *+b14(f),b1 |
ldh .D2T2 *+b14(g),b1 |
ldb .D2T2 *+b14(g),b1 |
ldb .D2T2 *+b14(h),b1 |
mvk .S1 $dpr_byte(h),a1 |
mvkl .S1 $dpr_byte(g),a1 |
mvkh .S1 $dpr_byte(h),a1 |
mvkl .S1 $dpr_hword(f),a1 |
mvkh .S1 $dpr_hword(g),a1 |
mvkl .S1 $dpr_word(e),a1 |
mvkh .S1 $dpr_word(f),a1 |
.data |
e: |
.word 0 |
f: |
.short 0 |
g: |
.byte 0 |
h: |
.byte 0 |
/ld/testsuite/ld-tic6x/attr-arch-c67x-c67x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x c67x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x.s |
#source: attr-arch-c67x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x |
/ld/testsuite/ld-tic6x/attr-conformance-11-10.d
0,0 → 1,10
#name: C6X conformance attribute merging, 11 10 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-conformance-11.s |
#source: attr-conformance-10.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/unwind-2.d
0,0 → 1,10
#ld: -T unwind.ld |
#objdump: -s |
|
.*: file format.* |
|
#... |
Contents of section .c6xabi.exidx: |
9000 (00f8ff7f 07020083 1cf8ff7f 01000000|7ffff800 83000207 7ffff81c 00000001) .* |
Contents of section .far: |
#... |
/ld/testsuite/ld-tic6x/attr-arch-c64x-c64x+.d
0,0 → 1,10
#name: C6X arch attribute merging, c64x c64x+ |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c64x.s |
#source: attr-arch-c64x+.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C64x\+ |
/ld/testsuite/ld-tic6x/attr-pid-12.d
0,0 → 1,12
#name: C6X PID attribute merging, 1 2 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-pid-1.s |
#source: attr-pid-2.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_ABI_PID: Data addressing position-independent, GOT near DP |
|
/ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x+ c64x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x+.s |
#source: attr-arch-c64x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
/ld/testsuite/ld-tic6x/attr-unknown-5.d
0,0 → 1,12
#name: C6X unknown attribute merging 5 |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-unknown-1000-1.s |
#source: attr-unknown-1000-1.s |
#warning: .*warning: unknown EABI object attribute 1000 |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C674x |
Tag_unknown_1000: 1 \(0x1\) |
/ld/testsuite/ld-tic6x/pcrel-reloc-local-2.s
0,0 → 1,16
.text |
.nocmp |
nop |
bnop .S2 f3,0 |
bnop .S2 f4,0 |
bdec .S2 f3,b1 |
bdec .S2 f4,b1 |
b .S2 f3 |
b .S2 f4 |
addkpc .S2 f3,b1,0 |
addkpc .S2 f4,b1,0 |
.section .text.1,"ax",@progbits |
f3: |
nop |
f4: |
nop |
/ld/testsuite/ld-tic6x/attr-compatibility-other-other.d
0,0 → 1,6
#name: C6X compatibility attribute merging, other other |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-compatibility-other.s |
#source: attr-compatibility-other.s |
#error: .*Object has vendor-specific contents that must be processed by the 'other' toolchain |
/ld/testsuite/ld-tic6x/attr-stack-16.s
0,0 → 1,2
.c6xabi_attribute Tag_ABI_stack_align_needed, 1 |
.c6xabi_attribute Tag_ABI_stack_align_preserved, 1 |
/ld/testsuite/ld-tic6x/shlib-app-1rb.od
0,0 → 1,11
|
tmpdir/shlib-dynapp-1rb: file format elf32-tic6x-be |
|
DYNAMIC RELOCATION RECORDS |
OFFSET TYPE VALUE |
100000b8 R_C6000_ABS32 b |
100000bc R_C6000_ABS32 a |
100000c4 R_C6000_COPY a |
100000b4 R_C6000_JUMP_SLOT sub0 |
|
|
/ld/testsuite/ld-tic6x/shlib-1.rd
0,0 → 1,123
There are 17 section headers, starting at offset 0x21c4: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 |
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4 |
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 |
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4 |
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4 |
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 |
\[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4 |
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 |
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 |
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4 |
\[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 |
\[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 |
\[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 |
\[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 |
\[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 |
\[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Elf file type is DYN \(Shared object file\) |
Entry point 0x10000080 |
There are 4 program headers, starting at offset 52 |
|
Program Headers: |
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 |
LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 |
DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 |
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 |
|
Section to Segment mapping: |
Segment Sections\.\.\. |
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic |
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss |
02 \.dynamic |
03 |
|
Dynamic section at offset 0x117c contains 16 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x8000 |
0x00000005 \(STRTAB\) 0x8118 |
0x00000006 \(SYMTAB\) 0x8048 |
0x0000000a \(STRSZ\) 37 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x70000000 \(C6000_DSBT_BASE\) 0x10000100 |
0x70000001 \(C6000_DSBT_SIZE\) 0x3 |
0x70000003 \(C6000_DSBT_INDEX\) 0x2 |
0x00000003 \(PLTGOT\) 0x1000010c |
0x00000002 \(PLTRELSZ\) 24 \(bytes\) |
0x00000014 \(PLTREL\) RELA |
0x00000017 \(JMPREL\) 0x10000000 |
0x00000007 \(RELA\) 0x8140 |
0x00000008 \(RELASZ\) 84 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000000 \(NULL\) 0x0 |
|
Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 |
1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 |
10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 |
|
Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 |
1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 |
|
Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: |
Offset Info Type Sym\. Value Symbol's Name \+ Addend |
10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 |
10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 |
|
Symbol table '\.dynsym' contains 13 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 10000020 0 SECTION LOCAL DEFAULT 8 |
2: 10000080 0 SECTION LOCAL DEFAULT 9 |
3: 10000100 0 SECTION LOCAL DEFAULT 10 |
4: 10000128 0 SECTION LOCAL DEFAULT 11 |
5: 10000130 0 SECTION LOCAL DEFAULT 12 |
6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
7: 00000000 0 NOTYPE WEAK DEFAULT UND b |
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
|
Symbol table '\.symtab' contains 26 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 00000000 0 NOTYPE LOCAL DEFAULT UND |
1: 00008000 0 SECTION LOCAL DEFAULT 1 |
2: 00008048 0 SECTION LOCAL DEFAULT 2 |
3: 00008118 0 SECTION LOCAL DEFAULT 3 |
4: 00008140 0 SECTION LOCAL DEFAULT 4 |
5: 00008164 0 SECTION LOCAL DEFAULT 5 |
6: 0000817c 0 SECTION LOCAL DEFAULT 6 |
7: 10000000 0 SECTION LOCAL DEFAULT 7 |
8: 10000020 0 SECTION LOCAL DEFAULT 8 |
9: 10000080 0 SECTION LOCAL DEFAULT 9 |
10: 10000100 0 SECTION LOCAL DEFAULT 10 |
11: 10000128 0 SECTION LOCAL DEFAULT 11 |
12: 10000130 0 SECTION LOCAL DEFAULT 12 |
13: 00000000 0 SECTION LOCAL DEFAULT 13 |
14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 |
15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC |
16: 10000130 4 OBJECT LOCAL DEFAULT 12 c |
17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ |
18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE |
19: 00000000 0 NOTYPE WEAK DEFAULT UND b |
20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize |
21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 |
22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 |
23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 |
24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a |
25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub |
/ld/testsuite/ld-tic6x/unwind-2.s
0,0 → 1,23
.cfi_sections .c6xabi.exidx |
.text |
|
.global __c6xabi_unwind_cpp_pr3 |
.type __c6xabi_unwind_cpp_pr3, %function |
__c6xabi_unwind_cpp_pr3: |
.global _start |
.type _start, %function |
_start: |
.cfi_startproc |
.cfi_offset B3, 0 |
.cfi_def_cfa_offset 8 |
nop |
.p2align 6 |
.cfi_endproc |
.personalityindex 3 |
.endp |
|
# last text section has unwind information. Linker should append a |
# terminating cantunwind entry. |
|
.section .far |
.word 0 |
/ld/testsuite/ld-tic6x/reloc-overflow-pcr-s10-2.d
0,0 → 1,5
#name: C6X relocation underflow, PCR_S10 |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tgeneric.ld --defsym s=0x0ffff7fc |
#source: reloc-overflow-pcr-s10.s |
#error: .*relocation truncated to fit: R_C6000_PCR_S10.* |
/ld/testsuite/ld-tic6x/weak.d
0,0 → 1,19
#name: C6X relocs to weak symbols, little endian |
#as: -mlittle-endian |
#ld: -melf32_tic6x_le -Tsbr.ld |
#source: weak.s |
#objdump: -dr |
|
.*: *file format elf32-tic6x-le |
|
|
Disassembly of section \.text: |
10000000 <[^>]*>: |
10000000:[ \t]+000c0362[ \t]+b \.S2 b3 |
10000004:[ \t]+a00c0362[ \t]+\[a2\] b \.S2 b3 |
10000008:[ \t]+000c0363[ \t]+b \.S2 b3 |
1000000c:[ \t]+00800028[ \t]+\|\| mvk \.S1 0,a1 |
10000010:[ \t]+0080006e[ \t]+ldw \.D2T2 \*\+b14\(0\),b1 |
10000014:[ \t]+00800028[ \t]+mvk \.S1 0,a1 |
10000018:[ \t]+00800068[ \t]+mvkh \.S1 0,a1 |
1000001c:[ \t]+00000000[ \t]+nop 1 |
/ld/testsuite/ld-tic6x/attr-arch-c67x-c62x.d
0,0 → 1,10
#name: C6X arch attribute merging, c67x c62x |
#as: -mlittle-endian |
#ld: -r -melf32_tic6x_le |
#source: attr-arch-c67x.s |
#source: attr-arch-c62x.s |
#readelf: -A |
|
Attribute Section: c6xabi |
File Attributes |
Tag_ISA: C67x |