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/ld/testsuite/ld-x86-64
- from Rev 163 to Rev 166
- ↔ Reverse comparison
Rev 163 → Rev 166
/ilp32-10.d
0,0 → 1,3
#as: --x32 |
#ld: -shared -melf32_x86_64 |
#error: .*relocation R_X86_64_PC32 against undefined symbol `bar' can not be used when making a shared object; recompile with -fPIC |
/ilp32-10.s
0,0 → 1,3
.globl foo |
foo: |
mov bar(%rip), %rax |
/x86-64.exp
111,6 → 111,10
{"TLS X32 LD->LE transition" "-melf32_x86_64" |
"--x32" {tlsld2.s} |
{{objdump -dwr tlsld2.dd}} "tlsld2"} |
|
{"build 32-bit object with 33 locals" "-e 0" "--32" {32bit.s} {{ ld incompatible.l }} "dummy" } |
{"build 64-bit object" "-e 0 --defsym foo=1" "--64" {64bit.s} {} "dummy" } |
{"link mixed objects" "-e 0 tmpdir/32bit.o tmpdir/64bit.o" "" {} { { ld incompatible.l } } "mixed"} |
} |
|
run_ld_link_tests $x86_64tests |
207,6 → 211,7
run_dump_test "ilp32-7" |
run_dump_test "ilp32-8" |
run_dump_test "ilp32-9" |
run_dump_test "ilp32-10" |
run_dump_test "ia32-1" |
run_dump_test "ia32-2" |
run_dump_test "ia32-3" |
/tlsbin.dd
174,9 → 174,7
401136: 90[ ]+nop * |
401137: c9[ ]+leaveq * |
401138: c3[ ]+retq * |
401139: 90[ ]+nop * |
40113a: 90[ ]+nop * |
40113b: 90[ ]+nop * |
401139: 0f 1f 00[ ]+nopl \(%rax\) |
|
0+40113c <_start>: |
40113c: 55[ ]+push %rbp |
/64bit.s
0,0 → 1,4
.text |
bar: |
call foo |
|
/ilp32-4.d
1,36 → 1,30
#source: start.s |
#as: --x32 |
#ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info |
#readelf: -d -S --wide |
|
There are 10 section headers, starting at offset 0x22c: |
There are 9 section headers, starting at offset 0x1d8: |
|
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 00000094 000094 000030 04 A 2 0 4 |
\[ 2\] .dynsym DYNSYM 000000c4 0000c4 000070 10 A 3 2 4 |
\[ 3\] .dynstr STRTAB 00000134 000134 00001d 00 A 0 0 1 |
\[ 4\] .rela.dyn RELA 00000154 000154 00000c 0c A 2 0 4 |
\[ 5\] .text PROGBITS 00000160 000160 000005 00 AX 0 0 4 |
\[ 6\] .dynamic DYNAMIC 00200168 000168 000078 08 WA 3 0 4 |
\[ 7\] .shstrtab STRTAB 00000000 0001e0 00004a 00 0 0 1 |
\[ 8\] .symtab SYMTAB 00000000 0003bc 0000e0 10 9 9 4 |
\[ 9\] .strtab STRTAB 00000000 00049c 000043 00 0 0 1 |
\[ 1\] .hash HASH 00000094 000094 00002c 04 A 2 0 4 |
\[ 2\] .dynsym DYNSYM 000000c0 0000c0 000060 10 A 3 2 4 |
\[ 3\] .dynstr STRTAB 00000120 000120 000019 00 A 0 0 1 |
\[ 4\] .text PROGBITS 0000013c 00013c 000001 00 AX 0 0 4 |
\[ 5\] .dynamic DYNAMIC 00200140 000140 000058 08 WA 3 0 4 |
\[ 6\] .shstrtab STRTAB 00000000 000198 000040 00 0 0 1 |
\[ 7\] .symtab SYMTAB 00000000 000340 0000c0 10 8 8 4 |
\[ 8\] .strtab STRTAB 00000000 000400 00003f 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
Dynamic section at offset 0x168 contains 10 entries: |
Dynamic section at offset 0x140 contains 6 entries: |
Tag Type Name/Value |
0x00000004 \(HASH\) 0x94 |
0x00000005 \(STRTAB\) 0x134 |
0x00000006 \(SYMTAB\) 0xc4 |
0x0000000a \(STRSZ\) 29 \(bytes\) |
0x00000005 \(STRTAB\) 0x120 |
0x00000006 \(SYMTAB\) 0xc0 |
0x0000000a \(STRSZ\) 25 \(bytes\) |
0x0000000b \(SYMENT\) 16 \(bytes\) |
0x00000007 \(RELA\) 0x154 |
0x00000008 \(RELASZ\) 12 \(bytes\) |
0x00000009 \(RELAENT\) 12 \(bytes\) |
0x00000016 \(TEXTREL\) 0x0 |
0x00000000 \(NULL\) 0x0 |
/tlsbindesc.dd
165,9 → 165,7
[0-9a-f]+: 90[ ]+nop * |
[0-9a-f]+: c9[ ]+leaveq * |
[0-9a-f]+: c3[ ]+retq * |
[0-9a-f]+: 90[ ]+nop * |
[0-9a-f]+: 90[ ]+nop * |
[0-9a-f]+: 90[ ]+nop * |
[0-9a-f]+: 0f 1f 00[ ]+nopl \(%rax\) |
|
[0-9a-f]+ <_start>: |
[0-9a-f]+: 55[ ]+push %rbp |
/ilp32-4.s
0,0 → 1,3
.globl _start |
_start: |
ret |
/incompatible.l
0,0 → 1,3
.*incompatible.* |
/ilp32-5.d
4,5 → 4,5
|
#... |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+ |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_PC32 +[0-9a-f]+ +foo - 4 |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foo \+ 0 |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +foo \+ 0 |
/tlspic.dd
226,5 → 226,4
+11a7: 90[ ]+nop * |
+11a8: c9[ ]+leaveq * |
+11a9: c3[ ]+retq * |
+11aa: 90[ ]+nop * |
+11ab: 90[ ]+nop * |
+11aa: 66 90[ ]+xchg %ax,%ax |
/32bit.s
0,0 → 1,78
|
.section .rodata.str1.1,"aMS",@progbits,1 |
|
.LC0: .word 1 |
.LC1: .word 2 |
.LC2: .word 3 |
.LC3: .word 4 |
.LC4: .word 5 |
.LC5: .word 6 |
.LC6: .word 7 |
.LC7: .word 8 |
.LC8: .word 9 |
.LC9: .word 10 |
.LC10: .word 11 |
.LC11: .word 12 |
.LC12: .word 13 |
.LC13: .word 14 |
.LC14: .word 15 |
.LC15: .word 16 |
.LC16: .word 17 |
.LC17: .word 18 |
.LC18: .word 19 |
.LC19: .word 20 |
.LC20: .word 21 |
.LC21: .word 22 |
.LC22: .word 23 |
.LC23: .word 24 |
.LC24: .word 25 |
.LC25: .word 26 |
.LC26: .word 27 |
.LC27: .word 28 |
.LC28: .word 29 |
.LC29: .word 30 |
.LC30: .word 31 |
.LC31: .word 32 |
.LC32: .word 33 |
.LC33: .word 34 |
|
.text |
.p2align 4,,15 |
.globl foo |
.type foo, @function |
foo: |
|
leal .LC0@GOTOFF(%ecx), %eax |
leal .LC1@GOTOFF(%ecx), %eax |
leal .LC2@GOTOFF(%ecx), %eax |
leal .LC3@GOTOFF(%ecx), %eax |
leal .LC4@GOTOFF(%ecx), %eax |
leal .LC5@GOTOFF(%ecx), %eax |
leal .LC6@GOTOFF(%ecx), %eax |
leal .LC7@GOTOFF(%ecx), %eax |
leal .LC8@GOTOFF(%ecx), %eax |
leal .LC9@GOTOFF(%ecx), %eax |
leal .LC10@GOTOFF(%ecx), %eax |
leal .LC11@GOTOFF(%ecx), %eax |
leal .LC12@GOTOFF(%ecx), %eax |
leal .LC13@GOTOFF(%ecx), %eax |
leal .LC14@GOTOFF(%ecx), %eax |
leal .LC15@GOTOFF(%ecx), %eax |
leal .LC16@GOTOFF(%ecx), %eax |
leal .LC17@GOTOFF(%ecx), %eax |
leal .LC18@GOTOFF(%ecx), %eax |
leal .LC19@GOTOFF(%ecx), %eax |
leal .LC20@GOTOFF(%ecx), %eax |
leal .LC21@GOTOFF(%ecx), %eax |
leal .LC22@GOTOFF(%ecx), %eax |
leal .LC23@GOTOFF(%ecx), %eax |
leal .LC24@GOTOFF(%ecx), %eax |
leal .LC25@GOTOFF(%ecx), %eax |
leal .LC26@GOTOFF(%ecx), %eax |
leal .LC27@GOTOFF(%ecx), %eax |
leal .LC28@GOTOFF(%ecx), %eax |
leal .LC29@GOTOFF(%ecx), %eax |
leal .LC30@GOTOFF(%ecx), %eax |
leal .LC31@GOTOFF(%ecx), %eax |
leal .LC32@GOTOFF(%ecx), %eax |
leal .LC33@GOTOFF(%ecx), %eax |
/ilp32-5.s
1,6 → 1,6
.globl bar |
bar: |
mov foo(%rip), %rax |
mov foo@GOTPCREL(%rip), %rax |
|
.data |
xxx: |