OpenCores
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
    from Rev 148 to Rev 157
    Reverse comparison

Rev 148 → Rev 157

/ld-shared/shared.exp
234,7 → 234,9
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "sparc*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
setup_xfail "s390x-*-linux*"
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
257,7 → 259,9
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "sparc*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
setup_xfail "s390x-*-linux*"
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
310,7 → 314,9
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainp.o] } {
setup_xfail "sparc*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
if { [is_elf64 $tmpdir/mainp.o] } {
setup_xfail "x86_64-*-linux*"
}
setup_xfail "s390x-*-linux*"
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
/ld-arm/fix-arm1176-on.d
0,0 → 1,20
 
.+: file format elf32-littlearm
 
 
Disassembly of section .foo:
 
[0-9a-f]+ <_start>:
[0-9a-f]+: f000 f800 bl 2001018 <__func_to_branch_to_veneer>
 
[0-9a-f]+ <__func_to_branch_to_veneer>:
[0-9a-f]+: 4778 bx pc
[0-9a-f]+: 46c0 nop ; \(mov r8, r8\)
[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 2001020 <__func_to_branch_to_veneer\+0x8>
[0-9a-f]+: 00008000 .word 0x00008000
[0-9a-f]+: 00000000 .word 0x00000000
 
Disassembly of section .text:
 
[0-9a-f]+ <func_to_branch_to>:
[0-9a-f]+: e12fff1e bx lr
/ld-arm/fix-arm1176.s
0,0 → 1,15
.syntax unified
.globl _start
.globl func_to_branch_to
 
.arm
.text
func_to_branch_to:
bx lr
 
.thumb
.section .foo, "xa"
.thumb_func
_start:
bl func_to_branch_to
 
/ld-arm/arm-elf.exp
137,7 → 137,7
{"arm-rel32" "-shared -T arm-dyn.ld" "" {arm-rel32.s}
{{objdump -Rsj.data arm-rel32.d}}
"arm-rel32"}
{"arm-call" "-static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s}
{"arm-call" "--no-fix-arm1176 -static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s}
{{objdump -d arm-call.d}}
"arm-call"}
{"TLS shared library" "-shared -T arm-lib.ld" "" {tls-lib.s}
149,16 → 149,16
{"TLS gnu shared library got" "-shared -T arm-dyn.ld" "" {tls-gdesc-got.s}
{{objdump "-fDR -j .got" tls-gdesc-got.d}}
"tls-lib2-got.so"}
{"TLS gnu shared library inlined trampoline" "-shared -T arm-dyn.ld" "" {tls-descseq.s}
{"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-descseq.s}
{{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}}
"tls-lib2inline.so"}
{"TLS shared library gdesc local" "-shared -T arm-dyn.ld" "" {tls-lib-loc.s}
{"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-lib-loc.s}
{{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}}
"tls-lib-loc.so"}
{"TLS gnu GD to IE relaxation" "-static -T arm-dyn.ld" "" {tls-gdierelax.s}
{{objdump -fdw tls-gdierelax.d}}
"tls-app-rel-ie"}
{"TLS gnu GD to IE shared relaxation" "-shared -T arm-dyn.ld" "" {tls-gdierelax2.s}
{"TLS gnu GD to IE shared relaxation" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-gdierelax2.s}
{{objdump -fdw tls-gdierelax2.d}}
"tls-app-rel-ie2"}
{"TLS gnu GD to LE relaxation" "-T arm-dyn.ld" "" {tls-gdlerelax.s}
507,7 → 507,7
{"MOVW/MOVT against shared libraries" "tmpdir/arm-lib.so" "" {arm-app-movw.s}
{{objdump -Rw arm-app.r}}
"arm-app-movw"}
{"Thumb-2-as-Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-as-thumb1-bad.s}
{"Thumb-2-as-Thumb-1 BL" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-as-thumb1-bad.s}
{{objdump -d thumb2-bl-as-thumb1-bad.d}}
"thumb2-bl-as-thumb1-bad"}
{"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-bad.s}
530,7 → 530,7
{"ARM-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "" {farcall-arm-thumb.s}
{{objdump -d farcall-arm-thumb.d}}
"farcall-arm-thumb"}
{"ARM-Thumb farcall with BLX" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-arm-thumb.s}
{"ARM-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-arm-thumb.s}
{{objdump -d farcall-arm-thumb-blx.d}}
"farcall-arm-thumb-blx"}
{"ARM-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" {farcall-arm-thumb.s}
540,7 → 540,7
{{objdump -d farcall-arm-thumb-blx-pic-veneer.d}}
"farcall-arm-thumb-blx-pic-veneer"}
 
{"Thumb-Thumb farcall with BLX" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-thumb-thumb.s}
{"Thumb-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-thumb-thumb.s}
{{objdump -d farcall-thumb-thumb-blx.d}}
"farcall-thumb-thumb-blx"}
{"Thumb-Thumb farcall M profile" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv7-m" {farcall-thumb-thumb.s}
552,7 → 552,7
{"Thumb-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv4t" {farcall-thumb-thumb.s}
{{objdump -d farcall-thumb-thumb.d}}
"farcall-thumb-thumb"}
{"Thumb-Thumb farcall with BLX (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-thumb-thumb.s}
{"Thumb-Thumb farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-thumb-thumb.s}
{{objdump -d farcall-thumb-thumb-blx-pic-veneer.d}}
"farcall-thumb-thumb-blx-pic-veneer"}
{"Thumb-Thumb farcall M profile (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv7-m" {farcall-thumb-thumb.s}
574,10 → 574,10
{"Thumb-ARM (short) call" "-Ttext 0x1000 --section-start .foo=0x0002014" "-W" {farcall-thumb-arm-short.s}
{{objdump -d farcall-thumb-arm-short.d}}
"farcall-thumb-arm-short"}
{"Thumb-ARM farcall with BLX" "-Ttext 0x1c01010 --section-start .foo=0x2001014" "-W -march=armv5t" {farcall-thumb-arm.s}
{"Thumb-ARM farcall with BLX" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014" "-W -march=armv5t" {farcall-thumb-arm.s}
{{objdump -d farcall-thumb-arm-blx.d}}
"farcall-thumb-arm-blx"}
{"Thumb-ARM farcall with BLX (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W -march=armv5t" {farcall-thumb-arm.s}
{"Thumb-ARM farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W -march=armv5t" {farcall-thumb-arm.s}
{{objdump -d farcall-thumb-arm-blx-pic-veneer.d}}
"farcall-thumb-arm-blx-pic-veneer"}
{"Thumb-ARM farcall (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W" {farcall-thumb-arm.s}
617,7 → 617,7
{{objdump -fdw farcall-mixed-lib-v4t.d}}
"farcall-mixed-lib.so"}
 
{"Mixed ARM/Thumb shared library with long branches (v5t)" "-shared -T arm-lib.ld" "-march=armv5t"
{"Mixed ARM/Thumb shared library with long branches (v5t)" "--no-fix-arm1176 -shared -T arm-lib.ld" "-march=armv5t"
{farcall-mixed-lib1.s farcall-mixed-lib2.s}
{{objdump -fdw farcall-mixed-lib.d}}
"farcall-mixed-lib.so"}
627,24 → 627,24
"farcall-data"}
 
{"R_ARM_THM_JUMP24 Relocation veneers: Short 1"
"--section-start destsect=0x00009000 --section-start .text=0x8000"
"--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000"
"-march=armv7-a -mthumb"
{jump-reloc-veneers.s}
{{objdump -d jump-reloc-veneers-short1.d}}
"jump-reloc-veneers-short1"}
{"R_ARM_THM_JUMP24 Relocation veneers: Short 2"
"--section-start destsect=0x00900000 --section-start .text=0x8000"
"--no-fix-arm1176 --section-start destsect=0x00900000 --section-start .text=0x8000"
"-march=armv7-a -mthumb"
{jump-reloc-veneers.s}
{{objdump -d jump-reloc-veneers-short2.d}}
"jump-reloc-veneers-short2"}
{"R_ARM_THM_JUMP24 Relocation veneers: Long"
"--section-start destsect=0x09000000 --section-start .text=0x8000"
"--no-fix-arm1176 --section-start destsect=0x09000000 --section-start .text=0x8000"
"-march=armv7-a -mthumb"
{jump-reloc-veneers.s}
{{objdump -d jump-reloc-veneers-long.d}}
"jump-reloc-veneers-long"}
{"TLS gnu shared library" "-shared -T arm-dyn.ld" "" {tls-gdesc.s}
{"TLS gnu shared library" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-gdesc.s}
{{objdump -fdw tls-gdesc.d} {objdump -Rw tls-gdesc.r}}
"tls-lib2.so"}
{"TLS gnu shared library non-lazy" "-z now -shared -T arm-dyn.ld" "" {tls-gdesc.s}
659,6 → 659,31
{"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" {tls-thumb1.s}
{{objdump -fdw tls-thumb1.d}}
"tls-thumb1"}
 
{"erratum 760522 fix (default for v6z)" "--section-start=.foo=0x2001014"
"-march=armv6z" {fix-arm1176.s}
{{objdump -d fix-arm1176-on.d}}
"fix-arm1176-1"}
{"erratum 760522 fix (explicitly on at v6z)" "--section-start=.foo=0x2001014 --fix-arm1176"
"-march=armv6z" {fix-arm1176.s}
{{objdump -d fix-arm1176-on.d}}
"fix-arm1176-2"}
{"erratum 760522 fix (explicitly off at v6z)" "--section-start=.foo=0x2001014 --no-fix-arm1176"
"-march=armv6z" {fix-arm1176.s}
{{objdump -d fix-arm1176-off.d}}
"fix-arm1176-3"}
{"erratum 760522 fix (default for v5)" "--section-start=.foo=0x2001014 "
"-march=armv5te" {fix-arm1176.s}
{{objdump -d fix-arm1176-on.d}}
"fix-arm1176-4"}
{"erratum 760522 fix (default for v7-a)" "--section-start=.foo=0x2001014 "
"-march=armv7-a" {fix-arm1176.s}
{{objdump -d fix-arm1176-off.d}}
"fix-arm1176-5"}
{"erratum 760522 fix (default for ARM1156)" "--section-start=.foo=0x2001014 "
"-mcpu=arm1156t2f-s" {fix-arm1176.s}
{{objdump -d fix-arm1176-off.d}}
"fix-arm1176-6"}
}
 
run_ld_link_tests $armeabitests
/ld-arm/fix-arm1176-off.d
0,0 → 1,17
 
.*: file format elf32-littlearm
 
 
Disassembly of section .foo:
 
[0-9a-f]+ <_start>:
[0-9a-f]+: f000 e800 blx 2001018 <__func_to_branch_to_veneer>
 
[0-9a-f]+ <__func_to_branch_to_veneer>:
[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 200101c <__func_to_branch_to_veneer\+0x4>
[0-9a-f]+: 00008000 .word 0x00008000
 
Disassembly of section .text:
 
[0-9a-f]+ <func_to_branch_to>:
[0-9a-f]+: e12fff1e bx lr
/ld-powerpc/tlsexe.d
21,7 → 21,6
.* f8 41 00 28 std r2,40\(r1\)
.* e9 62 80 48 ld r11,-32696\(r2\)
.* 7d 69 03 a6 mtctr r11
.* e9 62 80 58 ld r11,-32680\(r2\)
.* e8 42 80 50 ld r2,-32688\(r2\)
.* 4e 80 04 21 bctrl
.* e9 61 00 20 ld r11,32\(r1\)
34,7 → 33,7
.* 60 00 00 00 nop
.* 7c 63 6a 14 add r3,r3,r13
.* 38 62 80 18 addi r3,r2,-32744
.* 4b ff ff a5 bl .*
.* 4b ff ff a9 bl .*
.* 60 00 00 00 nop
.* 3c 6d 00 00 addis r3,r13,0
.* 60 00 00 00 nop
68,7 → 67,6
.* e9 4d 90 2a lwa r10,-28632\(r13\)
.* 3d 2d 00 00 addis r9,r13,0
.* a9 49 90 30 lha r10,-28624\(r9\)
.* 60 00 00 00 nop
.* 00 00 00 00 .*
.* 00 01 02 00 .*
.* <__glink_PLTresolve>:
/ld-powerpc/tlsexe.g
7,6 → 7,6
.*: +file format elf64-powerpc
 
Contents of section \.got:
.* 00000000 10018618 ffffffff ffff8018 .*
.* 00000000 10018610 ffffffff ffff8018 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
/ld-powerpc/tlsexe.r
16,11 → 16,10
+\[[ 0-9]+\] \.dynstr +.*
+\[[ 0-9]+\] \.rela\.dyn +.*
+\[[ 0-9]+\] \.rela\.plt +.*
+\[[ 0-9]+\] \.text +PROGBITS .* 0+130 0+ +AX +0 +0 +8
+\[[ 0-9]+\] \.text +PROGBITS .* 0+128 0+ +AX +0 +0 +8
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+160 10 +WA +4 +0 +8
+\[[ 0-9]+\] \.branch_lt + PROGBITS .* 0+ 0+ +WA +0 +0 +8
+\[[ 0-9]+\] \.got +PROGBITS .* 0+30 08 +WA +0 +0 +8
+\[[ 0-9]+\] \.plt +.*
+\[[ 0-9]+\] \.shstrtab +.*
47,7 → 46,7
+0+ +
+01 +\.interp
+02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
+03 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt
+03 +\.tdata \.dynamic \.got \.plt
+04 +\.dynamic
+05 +\.tdata \.tbss
 
87,7 → 86,6
.* SECTION +LOCAL +DEFAULT +10
.* SECTION +LOCAL +DEFAULT +11
.* SECTION +LOCAL +DEFAULT +12
.* SECTION +LOCAL +DEFAULT +13
.* TLS +LOCAL +DEFAULT +8 gd4
.* TLS +LOCAL +DEFAULT +8 ld4
.* TLS +LOCAL +DEFAULT +8 ld5
/ld-powerpc/tocopt3.d
0,0 → 1,5
 
.*: file format .*
 
Contents of section \.text:
100000b0 3d22effe 39297f4a .*
/ld-powerpc/tocopt3.s
0,0 → 1,9
.section .toc,"aw"
0:
.quad x
 
.globl _start
.text
_start:
addis 9,2,0b@toc@ha
ld 9,0b@toc@l(9)
/ld-powerpc/powerpc.exp
113,11 → 113,11
"tls32"}
{"TLS32 helper shared library" "-shared -melf32ppc tmpdir/tlslib32.o" "" {}
{} "libtlslib32.so"}
{"TLS32 dynamic exec" "-melf32ppc tmpdir/tls32.o tmpdir/libtlslib32.so" "" {}
{"TLS32 dynamic exec" "-melf32ppc --no-ld-generated-unwind-info tmpdir/tls32.o tmpdir/libtlslib32.so" "" {}
{{readelf -WSsrl tlsexe32.r} {objdump -dr tlsexe32.d}
{objdump -sj.got tlsexe32.g} {objdump -sj.tdata tlsexe32.t}}
"tlsexe32"}
{"TLS32 shared" "-shared -melf32ppc tmpdir/tls32.o" "" {}
{"TLS32 shared" "-shared -melf32ppc --no-ld-generated-unwind-info tmpdir/tls32.o" "" {}
{{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d}
{objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}}
"tls32.so"}
156,15 → 156,15
{} "libtlslib.so"}
{"TLS helper old shared lib" "-shared -melf64ppc" "-a64" {oldtlslib.s}
{} "liboldlib.so"}
{"TLS dynamic exec" "-melf64ppc tmpdir/tls.o tmpdir/libtlslib.so" "" {}
{"TLS dynamic exec" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o tmpdir/libtlslib.so" "" {}
{{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d}
{objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}}
"tlsexe"}
{"TLS dynamic old" "-melf64ppc tmpdir/tls.o tmpdir/liboldlib.so" "" {}
{"TLS dynamic old" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o tmpdir/liboldlib.so" "" {}
{{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d}
{objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}}
"tlsexeold"}
{"TLS shared" "-shared -melf64ppc tmpdir/tls.o" "" {}
{"TLS shared" "-shared -melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o" "" {}
{{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d}
{objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}}
"tls.so"}
172,17 → 172,17
{{objdump -dr tlstoc.d} {objdump -sj.got tlstoc.g}
{objdump -sj.tdata tlstoc.t}}
"tlstoc"}
{"TLSTOC dynamic exec" "-melf64ppc tmpdir/tlstoc.o tmpdir/libtlslib.so"
{"TLSTOC dynamic exec" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o tmpdir/libtlslib.so"
"" {}
{{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d}
{objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}}
"tlsexetoc"}
{"TLSTOC dynamic old" "-melf64ppc tmpdir/tlstoc.o tmpdir/liboldlib.so"
{"TLSTOC dynamic old" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o tmpdir/liboldlib.so"
"" {}
{{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d}
{objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}}
"tlsexetocold"}
{"TLSTOC shared" "-shared -melf64ppc tmpdir/tlstoc.o" "" {}
{"TLSTOC shared" "-shared -melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o" "" {}
{{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d}
{objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}}
"tlstoc.so"}
204,7 → 204,13
{"sym@tocbase" "-shared -melf64ppc" "-a64" {symtocbase-1.s symtocbase-2.s}
{{objdump -dj.data symtocbase.d}} "symtocbase.so"}
{"TOC opt" "-melf64ppc" "-a64" {tocopt.s}
{{objdump -s tocopt.d}} "tocopt"}
{{objdump -s tocopt.d}} "tocopt"}
{"TOC opt2" "-melf64ppc --defsym x=2" "-a64" {tocopt2.s}
{{ld tocopt2.out} {objdump -s tocopt2.d}} "tocopt2"}
{"TOC opt3" "-melf64ppc -no-keep-memory --defsym x=2" "-a64" {tocopt3.s}
{{objdump -s tocopt3.d}} "tocopt3"}
{"TOC opt4" "-melf64ppc -no-keep-memory --defsym x=2" "-a64"
{tocopt4a.s tocopt4b.s} {{objdump -s tocopt4.d}} "tocopt4"}
}
 
 
/ld-powerpc/tocopt4.d
0,0 → 1,7
 
.*: file format .*
 
Contents of section \.text:
100000b0 e9298000 .*
Contents of section \.got:
100100b8 00000000 00000002 .*
/ld-powerpc/tlsso.d
12,22 → 12,21
.* f8 41 00 28 std r2,40\(r1\)
.* e9 62 80 78 ld r11,-32648\(r2\)
.* 7d 69 03 a6 mtctr r11
.* e9 62 80 88 ld r11,-32632\(r2\)
.* e8 42 80 80 ld r2,-32640\(r2\)
.* 4e 80 04 20 bctr
 
.* <_start>:
.* 38 62 80 20 addi r3,r2,-32736
.* 4b ff ff e5 bl .*
.* 4b ff ff e9 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 38 62 80 50 addi r3,r2,-32688
.* 4b ff ff d9 bl .*
.* 4b ff ff dd bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 38 62 80 38 addi r3,r2,-32712
.* 4b ff ff cd bl .*
.* 4b ff ff d1 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 38 62 80 50 addi r3,r2,-32688
.* 4b ff ff c1 bl .*
.* 4b ff ff c5 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 39 23 80 40 addi r9,r3,-32704
.* 3d 23 00 00 addis r9,r3,0
40,10 → 39,10
.* 3d 2d 00 00 addis r9,r13,0
.* 99 49 00 00 stb r10,0\(r9\)
.* 38 62 80 08 addi r3,r2,-32760
.* 4b ff ff 8d bl .*
.* 4b ff ff 91 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 38 62 80 50 addi r3,r2,-32688
.* 4b ff ff 81 bl .*
.* 4b ff ff 85 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* f9 43 80 08 std r10,-32760\(r3\)
.* 3d 23 00 00 addis r9,r3,0
55,6 → 54,7
.* e9 4d 00 02 lwa r10,0\(r13\)
.* 3d 2d 00 00 addis r9,r13,0
.* a9 49 00 00 lha r10,0\(r9\)
.* 60 00 00 00 nop
.* 00 00 00 00 .*
.* 00 01 02 20 .*
.* <__glink_PLTresolve>:
/ld-powerpc/relbrlt.d
1,6 → 1,6
#source: relbrlt.s
#as: -a64
#ld: -melf64ppc --emit-relocs
#ld: -melf64ppc --no-ld-generated-unwind-info --emit-relocs
#objdump: -Dr
 
.*: file format elf64-powerpc
/ld-powerpc/tocopt2.out
0,0 → 1,6
.*: xt defined on removed toc entry
/ld-powerpc/tlsso.r
18,7 → 18,6
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic .*
+\[[ 0-9]+\] \.branch_lt .*
+\[[ 0-9]+\] \.got .*
+\[[ 0-9]+\] \.plt .*
+\[[ 0-9]+\] \.shstrtab .*
40,7 → 39,7
Section to Segment mapping:
+Segment Sections\.\.\.
+0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
+01 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt
+01 +\.tdata \.dynamic .got \.plt
+02 +\.dynamic
+03 +\.tdata \.tbss
 
101,7 → 100,6
.* SECTION +LOCAL +DEFAULT +9
.* SECTION +LOCAL +DEFAULT +10
.* SECTION +LOCAL +DEFAULT +11
.* SECTION +LOCAL +DEFAULT +12
.* TLS +LOCAL +DEFAULT +7 gd4
.* TLS +LOCAL +DEFAULT +7 ld4
.* TLS +LOCAL +DEFAULT +7 ld5
/ld-powerpc/tlsexetoc.d
21,7 → 21,6
.* f8 41 00 28 std r2,40\(r1\)
.* e9 62 80 70 ld r11,-32656\(r2\)
.* 7d 69 03 a6 mtctr r11
.* e9 62 80 80 ld r11,-32640\(r2\)
.* e8 42 80 78 ld r2,-32648\(r2\)
.* 4e 80 04 21 bctrl
.* e9 61 00 20 ld r11,32\(r1\)
31,10 → 30,10
 
.* <_start>:
.* 38 62 80 08 addi r3,r2,-32760
.* 4b ff ff b1 bl .*
.* 4b ff ff b5 bl .*
.* 60 00 00 00 nop
.* 38 62 80 18 addi r3,r2,-32744
.* 4b ff ff a5 bl .*
.* 4b ff ff a9 bl .*
.* 60 00 00 00 nop
.* 3c 6d 00 00 addis r3,r13,0
.* 60 00 00 00 nop
52,7 → 51,6
.* 89 4d 90 60 lbz r10,-28576\(r13\)
.* 3d 2d 00 00 addis r9,r13,0
.* 99 49 90 68 stb r10,-28568\(r9\)
.* 60 00 00 00 nop
.* 00 00 00 00 .*
.* 00 01 02 28 .*
.* <__glink_PLTresolve>:
/ld-powerpc/tlsexetoc.g
7,7 → 7,7
.*: +file format elf64-powerpc
 
Contents of section \.got:
.* 00000000 100185b0 00000000 00000000 .*
.* 00000000 100185a8 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000001 .*
.* 00000000 00000000 00000000 00000001 .*
/ld-powerpc/tlsexetoc.r
16,11 → 16,10
+\[[ 0-9]+\] \.dynstr +.*
+\[[ 0-9]+\] \.rela\.dyn +.*
+\[[ 0-9]+\] \.rela\.plt +.*
+\[[ 0-9]+\] \.text +PROGBITS .* 0+f0 0+ +AX +0 +0 +8
+\[[ 0-9]+\] \.text +PROGBITS .* 0+e8 0+ +AX +0 +0 +8
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+160 10 +WA +4 +0 +8
+\[[ 0-9]+\] \.branch_lt +PROGBITS .* 0+ 0+ +WA +0 +0 +8
+\[[ 0-9]+\] \.got +PROGBITS .* 0+58 08 +WA +0 +0 +8
+\[[ 0-9]+\] \.plt +.*
+\[[ 0-9]+\] \.shstrtab +.*
47,7 → 46,7
+0+ +
+01 +\.interp
+02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
+03 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt
+03 +\.tdata \.dynamic \.got \.plt
+04 +\.dynamic
+05 +\.tdata \.tbss
 
86,7 → 85,6
.* SECTION +LOCAL +DEFAULT +10
.* SECTION +LOCAL +DEFAULT +11
.* SECTION +LOCAL +DEFAULT +12
.* SECTION +LOCAL +DEFAULT +13
.* TLS +LOCAL +DEFAULT +8 gd4
.* TLS +LOCAL +DEFAULT +8 ld4
.* TLS +LOCAL +DEFAULT +8 ld5
94,7 → 92,7
.* TLS +LOCAL +DEFAULT +8 ie4
.* TLS +LOCAL +DEFAULT +8 le4
.* TLS +LOCAL +DEFAULT +8 le5
.* NOTYPE +LOCAL +DEFAULT +12 \.Lie0
.* NOTYPE +LOCAL +DEFAULT +11 \.Lie0
.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC
.* (NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0|(FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt))
.* (NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve|NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0)
/ld-powerpc/tlstocso.d
12,22 → 12,21
.* f8 41 00 28 std r2,40\(r1\)
.* e9 62 80 70 ld r11,-32656\(r2\)
.* 7d 69 03 a6 mtctr r11
.* e9 62 80 80 ld r11,-32640\(r2\)
.* e8 42 80 78 ld r2,-32648\(r2\)
.* 4e 80 04 20 bctr
 
.* <_start>:
.* 38 62 80 08 addi r3,r2,-32760
.* 4b ff ff e5 bl .*
.* 4b ff ff e9 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 38 62 80 18 addi r3,r2,-32744
.* 4b ff ff d9 bl .*
.* 4b ff ff dd bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 38 62 80 28 addi r3,r2,-32728
.* 4b ff ff cd bl .*
.* 4b ff ff d1 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 38 62 80 38 addi r3,r2,-32712
.* 4b ff ff c1 bl .*
.* 4b ff ff c5 bl .*
.* e8 41 00 28 ld r2,40\(r1\)
.* 39 23 80 40 addi r9,r3,-32704
.* 3d 23 00 00 addis r9,r3,0
39,6 → 38,7
.* 89 4d 00 00 lbz r10,0\(r13\)
.* 3d 2d 00 00 addis r9,r13,0
.* 99 49 00 00 stb r10,0\(r9\)
.* 60 00 00 00 nop
.* 00 00 00 00 .*
.* 00 01 02 18 .*
.* <__glink_PLTresolve>:
/ld-powerpc/tocopt4a.s
0,0 → 1,4
.globl _start
.text
_start:
ld 9,xt@toc(9)
/ld-powerpc/tlstocso.r
18,7 → 18,6
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic .*
+\[[ 0-9]+\] \.branch_lt .*
+\[[ 0-9]+\] \.got .*
+\[[ 0-9]+\] \.plt .*
+\[[ 0-9]+\] \.shstrtab .*
40,7 → 39,7
Section to Segment mapping:
+Segment Sections\.\.\.
+0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
+01 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt
+01 +\.tdata \.dynamic \.got \.plt
+02 +\.dynamic
+03 +\.tdata \.tbss
 
96,7 → 95,6
.* SECTION +LOCAL +DEFAULT +9
.* SECTION +LOCAL +DEFAULT +10
.* SECTION +LOCAL +DEFAULT +11
.* SECTION +LOCAL +DEFAULT +12
.* TLS +LOCAL +DEFAULT +7 gd4
.* TLS +LOCAL +DEFAULT +7 ld4
.* TLS +LOCAL +DEFAULT +7 ld5
104,7 → 102,7
.* TLS +LOCAL +DEFAULT +7 ie4
.* TLS +LOCAL +DEFAULT +7 le4
.* TLS +LOCAL +DEFAULT +7 le5
.* NOTYPE +LOCAL +DEFAULT +11 \.Lie0
.* NOTYPE +LOCAL +DEFAULT +10 \.Lie0
.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC
.* NOTYPE +LOCAL +DEFAULT +6 00000010\.plt_call\.__tls_get_addr\+0
.* NOTYPE +LOCAL +DEFAULT +6 __glink_PLTresolve
/ld-powerpc/tocopt2.d
0,0 → 1,5
 
.*: file format .*
 
Contents of section \.text:
100000b0 3d22effe 39297f4a .*
/ld-powerpc/tocopt2.s
0,0 → 1,10
.globl xt
.section .toc,"aw"
xt:
.quad x
 
.globl _start
.text
_start:
addis 9,2,xt@toc@ha
ld 9,xt@toc@l(9)
/ld-powerpc/tocopt4b.s
0,0 → 1,17
.section .toc,"aw"
.globl xt
xt:
.quad x
#
# This testcase will fail with a warning "xt defined on removed toc entry"
# if a large-toc access like the following is added to this file, because
# toc analysis only considers toc accesses from the current object file.
# The small-toc access from tocopt4a.s doesn't cause xt entry to be marked
# !can_optimize. The testcase only passes because toc analysis considers
# *no* access from the current file as being sufficiently unusual to
# warrant keeping the toc entry. So, if you use global symbols on toc
# entries, don't mix code models.
#
# .text
# addis 9,2,xt@toc@ha
# ld 9,xt@toc@l(9)
/ld-i386/pr12921.s
0,0 → 1,25
.text
.balign 4096
vtext:
.p2align 4,,15
.globl _start
.type _start, @function
_start:
ret
.size _start, .-_start
.globl vdata
.data
.align 4096
.type vdata, @object
.size vdata, 4
vdata:
.long 5
.comm vbss,65536,4096
.align 16
.type local, @object
.size local, 24
local:
.byte 77
.zero 7
.dc.a local
.dc.a 0
/ld-i386/tlsnopic.dd
1,7 → 1,7
#source: tlsnopic1.s
#source: tlsnopic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
 
/ld-i386/tlsbindesc.sd
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
 
/ld-i386/tlsbin.rd
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
 
/ld-i386/tlsdesc.rd
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
 
/ld-i386/tlsbindesc.dd
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
 
/ld-i386/i386.exp
118,12 → 118,14
# readelf: Apply readelf options on result. Compare with regex (last arg).
 
set i386tests {
{"TLS -fpic -shared transitions" "-shared -melf_i386"
{"TLS -fpic -shared transitions"
"-shared -melf_i386 --no-ld-generated-unwind-info"
"--32" {tlspic1.s tlspic2.s}
{{readelf -Ssrl tlspic.rd} {objdump -drj.text tlspic.dd}
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
"libtlspic.so"}
{"TLS descriptor -fpic -shared transitions" "-shared -melf_i386"
{"TLS descriptor -fpic -shared transitions"
"-shared -melf_i386 --no-ld-generated-unwind-info"
"--32" {tlsdesc.s tlspic2.s}
{{readelf -Ssrl tlsdesc.rd} {objdump -drj.text tlsdesc.dd}
{objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}}
131,21 → 133,24
{"Helper shared library" "-shared -melf_i386"
"--32" {tlslib.s} {} "libtlslib.so"}
{"TLS -fpic and -fno-pic exec transitions"
"-melf_i386 tmpdir/libtlslib.so" "--32" {tlsbinpic.s tlsbin.s}
"-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info"
"--32" {tlsbinpic.s tlsbin.s}
{{readelf -Ssrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
"tlsbin"}
{"TLS descriptor -fpic and -fno-pic exec transitions"
"-melf_i386 tmpdir/libtlslib.so" "--32" {tlsbindesc.s tlsbin.s}
"-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info"
"--32" {tlsbindesc.s tlsbin.s}
{{readelf -Ssrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd}
{objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}}
"tlsbindesc"}
{"TLS -fno-pic -shared" "-shared -melf_i386"
{"TLS -fno-pic -shared" "-shared -melf_i386 --no-ld-generated-unwind-info"
"--32" {tlsnopic1.s tlsnopic2.s}
{{readelf -Ssrl tlsnopic.rd} {objdump -drj.text tlsnopic.dd}
{objdump -sj.got tlsnopic.sd}} "libtlsnopic.so"}
{"TLS with global dynamic and descriptors"
"-shared -melf_i386" "--32" {tlsgdesc.s}
"-shared -melf_i386 --no-ld-generated-unwind-info"
"--32" {tlsgdesc.s}
{{readelf -Ssrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}}
"libtlsgdesc.so"}
{"TLS in debug sections" "-melf_i386"
195,6 → 200,7
run_dump_test "nogot2"
run_dump_test "discarded1"
run_dump_test "pr12718"
run_dump_test "pr12921"
 
if { !([istarget "i?86-*-linux*"]
|| [istarget "i?86-*-gnu*"]
/ld-i386/tlsgdesc.dd
1,6 → 1,6
#source: tlsgdesc.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
 
/ld-i386/tlsbin.sd
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
 
/ld-i386/tlsbindesc.td
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*
 
/ld-i386/tlspic.rd
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
 
/ld-i386/tlsdesc.sd
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -s -j.got -j.got.plt
#target: i?86-*-*
 
/ld-i386/tlsbin.dd
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
 
/ld-i386/tlsdesc.dd
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
 
/ld-i386/tlsnopic.rd
1,7 → 1,7
#source: tlsnopic1.s
#source: tlsnopic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
 
/ld-i386/tlsbin.td
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*
 
/ld-i386/tlspic.sd
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
 
/ld-i386/tlsdesc.td
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*
 
/ld-i386/vxworks1-lib.rd
1,4 → 1,9
 
Relocation section '\.rel\.plt' at offset .* contains 2 entries:
Offset Info Type Sym\.Value Sym\. Name
0008140c .*07 R_386_JUMP_SLOT 00000000 sexternal
00081410 .*07 R_386_JUMP_SLOT 00080c27 sglobal
 
Relocation section '\.rel\.dyn' at offset .* contains 4 entries:
Offset Info Type Sym\.Value Sym\. Name
00081800 00000008 R_386_RELATIVE *
5,8 → 10,3
00080c03 .*01 R_386_32 00000000 __GOTT_BASE__
00080c09 .*01 R_386_32 00000000 __GOTT_INDEX__
00081414 .*06 R_386_GLOB_DAT 00081c00 x
 
Relocation section '\.rel\.plt' at offset .* contains 2 entries:
Offset Info Type Sym\.Value Sym\. Name
0008140c .*07 R_386_JUMP_SLOT 00000000 sexternal
00081410 .*07 R_386_JUMP_SLOT 00080c27 sglobal
/ld-i386/tlspic.dd
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
 
/ld-i386/tlsbindesc.rd
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
#ld: -melf_i386 tmpdir/libtlslib.so
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
 
/ld-i386/tlsnopic.sd
1,7 → 1,7
#source: tlsnopic1.s
#source: tlsnopic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
 
/ld-i386/pr12921.d
0,0 → 1,21
#name: PR ld/12921
#as: --32
#ld: -melf_i386
#readelf: -S --wide
 
There are 7 section headers, starting at offset 0x204c:
 
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 0\] NULL 00000000 000000 000000 00 0 0 0
\[ 1\] .text PROGBITS 08049000 001000 000001 00 AX 0 0 4096
\[ 2\] .data PROGBITS 0804b000 002000 000020 00 WA 0 0 4096
\[ 3\] .bss NOBITS 0804c000 002020 010000 00 WA 0 0 4096
\[ 4\] .shstrtab STRTAB 00000000 002020 00002c 00 0 0 1
\[ 5\] .symtab SYMTAB 00000000 002164 0000c0 10 6 6 4
\[ 6\] .strtab STRTAB 00000000 002224 000037 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\)
#pass
/ld-i386/tlspic.td
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*
 
/ld-i386/tlsgdesc.rd
1,6 → 1,6
#source: tlsgdesc.s
#as: --32
#ld: -shared -melf_i386
#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
 
/ChangeLog
1,3 → 1,269
2011-08-22 Alan Modra <amodra@gmail.com>
 
* ld-powerpc/tocopt4a.s, * ld-powerpc/tocopt4b.s,
* ld-powerpc/tocopt4.d: New test.
* ld-powerpc/powerpc.exp: Run it.
 
2011-08-12 H.J. Lu <hongjiu.lu@intel.com>
 
PR ld/13082
* ld-x86-64/pr13082-1.s: New.
* ld-x86-64/pr13082-1a.d: Likewise.
* ld-x86-64/pr13082-1b.d: Likewise.
* ld-x86-64/pr13082-2.s: Likewise.
* ld-x86-64/pr13082-2a.d: Likewise.
* ld-x86-64/pr13082-2b.d: Likewise.
* ld-x86-64/pr13082-3.s: Likewise.
* ld-x86-64/pr13082-3a.d: Likewise.
* ld-x86-64/pr13082-3b.d: Likewise.
* ld-x86-64/pr13082-4.s: Likewise.
* ld-x86-64/pr13082-4a.d: Likewise.
* ld-x86-64/pr13082-4b.d: Likewise.
* ld-x86-64/pr13082-5.s: Likewise.
* ld-x86-64/pr13082-5a.d: Likewise.
* ld-x86-64/pr13082-5b.d: Likewise.
* ld-x86-64/pr13082-6.s: Likewise.
* ld-x86-64/pr13082-6a.d: Likewise.
* ld-x86-64/pr13082-6b.d: Likewise.
 
* ld-x86-64/x86-64.exp: Run pr13082-[1-6][ab].
 
2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
 
* ld-arm/arm-elf.exp (armelftests): Update for new command-line
options.
(armeabitests): Update for new command-line options, and add
new test cases.
* ld-arm/fix-arm1176.s: Add test case.
* ld-arm/fix-arm1176-off.d: Likewise.
* ld-arm/fix-arm1176-on.d: Likewise.
 
2011-08-05 Alan Modra <amodra@gmail.com>
 
* ld-powerpc/tlsexe.r: Update for stripped .branch_lt.
* ld-powerpc/tlsexetoc.r: Likewise.
* ld-powerpc/tlsso.r: Likewise.
* ld-powerpc/tlstocso.r: Likewise.
 
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
 
PR ld/13048
* ld-x86-64/ilp32-6.d: New.
* ld-x86-64/ilp32-6.s: Likewise.
* ld-x86-64/ilp32-7.d: Likewise.
* ld-x86-64/ilp32-7.s: Likewise.
* ld-x86-64/ilp32-8.d: Likewise.
* ld-x86-64/ilp32-8.s: Likewise.
* ld-x86-64/ilp32-9.d: Likewise.
* ld-x86-64/ilp32-9.s: Likewise.
 
* ld-x86-64/x86-64.exp: Run ilp32-6, ilp32-7, ilp32-8 and ilp32-9.
 
2011-07-27 Roland McGrath <mcgrathr@google.com>
 
* ld-i386/vxworks1-lib.rd: Swap order of sections expected in output.
 
2011-07-26 Alan Modra <amodra@gmail.com>
 
* ld-powerpc/powerpc.exp: Use --no-ld-generated-unwind-info
with some tests.
* ld-powerpc/relbrlt.d: Likewise.
 
2011-07-25 Hans-Peter Nilsson <hp@bitrange.com>
 
PR ld/12815
* ld-mmix/pr12815-1.d, ld-mmix/pr12815-1.s, ld-mmix/pr12815-1.ld,
ld-mmix/pr12815-2.d, ld-mmix/pr12815-2.s: New tests.
 
2011-07-24 Catherine Moore <clm@codesourcery.com>
Chao-ying Fu <fu@mips.com>
Maciej W. Rozycki <macro@codesourcery.com>
 
* lib/ld-lib.exp (run_dump_test): Support distinct assembler
flags for the same source named multiple times.
* ld-mips-elf/jalx-1.s: New test source.
* ld-mips-elf/jalx-1.d: New test output.
* ld-mips-elf/jalx-1.ld: New test linker script.
* ld-mips-elf/jalx-2-main.s: New test source.
* ld-mips-elf/jalx-2-ex.s: Likewise.
* ld-mips-elf/jalx-2-printf.s: Likewise.
* ld-mips-elf/jalx-2.dd: New test output.
* ld-mips-elf/jalx-2.ld: New test linker script.
* ld-mips-elf/mips16-and-micromips.d: New test.
* ld-mips-elf/mips-elf.exp: Run the new tests
 
2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
 
* ld-x86-64/abs-k1om.d: New.
* ld-x86-64/protected2-k1om.d: Likewise.
* ld-x86-64/protected3-k1om.d: Likewise.
 
* ld-x86-64/x86-64.exp: Run abs-k1om, protected2-k1om and
protected3-k1om.
 
2011-07-14 H.J. Lu <hongjiu.lu@intel.com>
 
* ld-elf/binutils.exp (binutils_test): Also check ignored
"-z relro".
 
2011-07-14 Alan Modra <amodra@gmail.com>
 
* ld-scripts/section-flags.exp: Pass --local-store 0:0 for
spu. Rewrite using foreach.
 
2011-07-14 Alan Modra <amodra@gmail.com>
 
* ld-powerpc/tlsexe.d, * ld-powerpc/tlsexe.g. *ld-powerpc/tlsexe.r,
* ld-powerpc/tlsexetoc.d, * ld-powerpc/tlsexetoc.g,
* ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.d,
* ld-powerpc/tlstocso.d: Update for plt stub change.
 
2011-07-11 Catherine Moore <clm@cm00re.com>
 
* ld-scripts/section-flags-1.s: New.
* ld-scripts/section-flags-1.t: New.
* ld-scripts/section-flags-2.s: New.
* ld-scripts/section-flags-2.t: New.
* ld-scripts/section-flags.exp: New.
 
2011-07-11 Alan Modra <amodra@gmail.com>
 
* ld-powerpc/tocopt2.s, * ld-powerpc/tocopt2.out,
* ld-powerpc/tocopt2.d: New test.
* ld-powerpc/tocopt3.s, * ld-powerpc/tocopt3.d: New test.
* ld-powerpc/powerpc.exp (ppc64elftests) Run them.
 
2011-07-03 Samuel Thibault <samuel.thibault@gnu.org>
Thomas Schwinge <thomas@schwinge.name>
 
PR binutils/12913
* ld-ifunc/ifunc.exp: Update for changed output.
* ld-unique/unique.exp: Likewise.
 
2011-06-27 Nick Clifton <nickc@redhat.com>
 
* ld-elf/elf.exp: Exlcude all v850 targets from note-3 test.
 
2011-06-27 Alan Modra <amodra@gmail.com>
 
* ld-elf/elf.exp: Exclude more targets from note-3 test.
 
2011-06-24 H.J. Lu <hongjiu.lu@intel.com>
 
PR ld/12921
* ld-i386/i386.exp: Run pr12921.
* ld-x86-64/x86-64.exp: Likewise.
 
* ld-i386/pr12921.d: New.
* ld-i386/pr12921.s: Likewise.
* ld-x86-64/pr12921.d: Likewise.
* ld-x86-64/pr12921.s: Likewise.
 
2011-06-22 Thomas Schwinge <thomas@schwinge.name>
 
* ld-elf/elf.exp: Execute array_tests_pie tests on *-*-gnu*, too.
 
2011-06-20 H.J. Lu <hongjiu.lu@intel.com>
 
* ld-ifunc/ifunc-1-local-x86.d: Adjusted.
* ld-ifunc/ifunc-1-x86.d: Likewise.
* ld-ifunc/ifunc-3a-x86.d: Likewise.
 
2011-06-20 H.J. Lu <hongjiu.lu@intel.com>
 
* ld-elf/eh1.d: Revert x32 change.
* ld-elf/eh2.d: Likewise.
* ld-elf/eh3.d: Likewise.
* ld-elf/eh4.d: Likewise.
 
2011-06-20 Jakub Jelinek <jakub@redhat.com>
 
PR ld/12570
* ld-x86-64/x86-64.exp: Link some testcases with
--no-ld-generated-unwind-info.
* ld-x86-64/tlsbin.rd: Add --no-ld-generated-unwind-info to ld
comment.
* ld-x86-64/tlsdesc.dd: Likewise.
* ld-x86-64/tlspic.dd: Likewise.
* ld-x86-64/tlsdesc.sd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
* ld-x86-64/tlsbindesc.rd: Likewise.
* ld-x86-64/tlsbindesc.sd: Likewise.
* ld-x86-64/tlsbin.td: Likewise.
* ld-x86-64/tlsdesc.pd: Likewise.
* ld-x86-64/tlsdesc.td: Likewise.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-x86-64/tlsbin.dd: Likewise.
* ld-x86-64/tlsgdesc.rd: Likewise.
* ld-x86-64/tlspic.sd: Likewise.
* ld-x86-64/tlsbindesc.td: Likewise.
* ld-x86-64/tlspic.td: Likewise.
* ld-x86-64/tlsbin.sd: Likewise.
* ld-x86-64/ilp32-4.d: Likewise.
* ld-x86-64/tlsgdesc.dd: Add --no-ld-generated-unwind-info to ld
comment. Adjust.
* ld-x86-64/tlsdesc.rd: Likewise.
* ld-x86-64/tlsgd6.dd: Adjust.
* ld-x86-64/tlsgd5.dd: Likewise.
* ld-i386/i386.exp: Link some testcases with
--no-ld-generated-unwind-info.
* ld-i386/tlsbin.rd: Add --no-ld-generated-unwind-info to ld
comment..
* ld-i386/tlsdesc.dd: Likewise.
* ld-i386/tlspic.dd: Likewise.
* ld-i386/tlsdesc.sd: Likewise.
* ld-i386/tlsgdesc.dd: Likewise.
* ld-i386/tlsnopic.sd: Likewise.
* ld-i386/tlspic.rd: Likewise.
* ld-i386/tlsdesc.rd: Likewise.
* ld-i386/tlsbindesc.rd: Likewise.
* ld-i386/tlsbindesc.sd: Likewise.
* ld-i386/tlsbin.td: Likewise.
* ld-i386/tlsdesc.td: Likewise.
* ld-i386/tlsnopic.dd: Likewise.
* ld-i386/tlsbindesc.dd: Likewise.
* ld-i386/tlsbin.dd: Likewise.
* ld-i386/tlsgdesc.rd: Likewise.
* ld-i386/tlspic.sd: Likewise.
* ld-i386/tlsnopic.rd: Likewise.
* ld-i386/tlsbindesc.td: Likewise.
* ld-i386/tlspic.td: Likewise.
* ld-i386/tlsbin.sd: Likewise.
 
2011-06-19 H.J. Lu <hongjiu.lu@intel.com>
 
* ld-elf/eh1.d: Skip x32.
* ld-elf/eh2.d: Likewise.
* ld-elf/eh3.d: Likewise.
* ld-elf/eh4.d: Likewise.
 
* ld-elfvsb/elfvsb.exp: Only xfail 64bit x86_64-*-linux*.
* ld-shared/shared.exp: Likewise.
 
* ld-ifunc/ifunc-1-local-x86.d: Support x32.
* ld-ifunc/ifunc-1-x86.d: Likewise.
* ld-ifunc/ifunc-3a-x86.d: Likewise.
* ld-x86-64/pcrel16.d: Likewise.
 
* ld-x86-64/x86-64.exp (x86_64tests): Add missing -melf_x86_64.
 
2011-06-16 Alan Modra <amodra@gmail.com>
 
* ld-elfvers/vers2.ver: Don't assume any particular index for
version reference.
* ld-elfvers/vers3.ver: Likewise.
* ld-elfvers/vers19.ver: Likewise.
* ld-elfvers/vers22.ver: Likewise.
* ld-elfvers/vers27d4.ver: Likewise.
* ld-elfvers/vers28c.ver: Likewise.
 
2011-06-14 Alan Modra <amodra@gmail.com>
 
* ld-elf/elf.exp: Don't attempt to build symbol3.a for hppa64-hpux.
* ld-elf/warn3.d: Correct target selection and comment.
 
* ld-elf/pr12851.d: Correct target selection and comment.
 
2011-06-13 Walter Lee <walt@tilera.com>
 
* ld-elf/eh5.d: Don't run on tile*.
/ld-unique/unique.exp
149,8 → 149,8
}
 
# Check the object file.
if {! [check_osabi tmpdir/unique.o {UNIX - Linux}]} {
fail "Object containing unique does not have an OS/ABI field of LINUX"
if {! [check_osabi tmpdir/unique.o {UNIX - GNU}]} {
fail "Object containing unique does not have an OS/ABI field of GNU"
set fails [expr $fails + 1]
}
 
164,8 → 164,8
}
 
# Check the executable.
if {! [check_osabi tmpdir/unique_prog {UNIX - Linux}]} {
fail "Executable containing unique does not have an OS/ABI field of LINUX"
if {! [check_osabi tmpdir/unique_prog {UNIX - GNU}]} {
fail "Executable containing unique does not have an OS/ABI field of GNU"
set fails [expr $fails + 1]
}
 
194,8 → 194,8
}
 
# Check the unique PIC file.
if {! [check_osabi tmpdir/unique_shared.o {UNIX - Linux}]} {
fail "PIC Object containing unique does not have an OS/ABI field of LINUX"
if {! [check_osabi tmpdir/unique_shared.o {UNIX - GNU}]} {
fail "PIC Object containing unique does not have an OS/ABI field of GNU"
set fails [expr $fails + 1]
}
 
209,8 → 209,8
}
 
# Check the unique shared library.
if {! [check_osabi tmpdir/libunique_shared.so {UNIX - Linux}]} {
fail "Shared library containing unique does not have an OS/ABI field of LINUX"
if {! [check_osabi tmpdir/libunique_shared.so {UNIX - GNU}]} {
fail "Shared library containing unique does not have an OS/ABI field of GNU"
set fails [expr $fails + 1]
}
 
/ld-elfvers/vers3.ver
1,4 → 1,4
Version References:
required from tmpdir/vers1.so:
0x0a7922b0 0x00 0[23] VERS_2.0
0x0a7922b0 0x00 ?? VERS_2.0
 
/ld-elfvers/vers28c.ver
1,4 → 1,4
Version References:
required from tmpdir/vers28b.so:
0x05aa7610 0x00 02 VERS.0
0x05aa7610 0x00 ?? VERS.0
 
/ld-elfvers/vers2.ver
4,5 → 4,5
 
Version References:
required from tmpdir/vers1.so:
0x0a7922b0 0x00 03 VERS_2.0
0x0a7922b0 0x00 ?? VERS_2.0
 
/ld-elfvers/vers27d4.ver
1,3 → 1,3
Version References:
required from tmpdir/vers27a.so:
0x05aa7610 0x00 02 VERS.0
0x05aa7610 0x00 ?? VERS.0
/ld-elfvers/vers19.ver
1,3 → 1,3
Version References:
required from tmpdir/vers18.so:
0x0a7922b0 0x00 0[23] VERS_2.0
0x0a7922b0 0x00 ?? VERS_2.0
/ld-elfvers/vers22.ver
1,4 → 1,4
Version References:
required from tmpdir/vers22b.so:
0x05aa7610 0x00 02 VERS.0
0x05aa7610 0x00 ?? VERS.0
 
/ld-elf/pr12851.d
3,11 → 3,8
#ld: --gc-sections
#readelf: -s --wide
#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
#xfail: cr16-*-* crx-*-*
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
# cr16 and crx use non-standard scripts with memory regions, which don't play
# well with unique group sections under ld -r.
 
#...
+.* _.stapsdt.base
/ld-elf/binutils.exp
53,7 → 53,8
 
if { ![ld_simple_link $ld tmpdir/$test "$ld_options tmpdir/$test.o"] } {
if { [string match "*not supported*" $link_output]
|| [string match "*unrecognized option*" $link_output] } {
|| [string match "*unrecognized option*" $link_output]
|| [string match "*-z relro ignored*" $link_output] } {
unsupported "$ld_options is not supported by this target"
} else {
unresolved "$test_name"
/ld-elf/elf.exp
1,5 → 1,6
# Expect script for various ELF tests.
# Copyright 2002, 2003, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
# Copyright 2002, 2003, 2005, 2007, 2009, 2010, 2011
# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
40,13 → 41,15
remote_download host merge.ld
}
 
run_ld_link_tests {
{"Build symbol3.a"
"" ""
{symbol3.s} {} "symbol3.a"}
{"Build symbol3w.a"
"" ""
{symbol3w.s} {} "symbol3w.a"}
if { ![istarget hppa64*-hpux*] } {
run_ld_link_tests {
{"Build symbol3.a"
"" ""
{symbol3.s} {} "symbol3.a"}
{"Build symbol3w.a"
"" ""
{symbol3w.s} {} "symbol3w.a"}
}
}
 
# Run a test to check linking a shared library with a broken linker
66,16 → 69,27
&& ! [istarget fr30-*-*]
&& ! [istarget frv-*-*]
&& ! [istarget h8300-*-*]
&& ! [istarget i860-*-*]
&& ! [istarget i960-*-*]
&& ! [istarget ip2k-*-*]
&& ! [istarget iq2000-*-*]
&& ! [istarget lm32-*-*]
&& ! [istarget m32c-*-*]
&& ! [istarget m32r-*-*]
&& ! [istarget mcore*-*-*]
&& ! [istarget mep-*-*]
&& ! [istarget microblaze-*-*]
&& ! [istarget mn10200-*-*]
&& ! [istarget moxie-*-*]
&& ! [istarget ms1-*-*]
&& ! [istarget msp430-*-*]
&& ! [istarget openrisc-*-*]
&& ! [istarget or32-*-*]
&& ! [istarget pj-*-*]
&& ! [istarget rx-*-*]
&& ! [istarget v850-*-*]
&& ! [istarget spu-*-*]
&& ! [istarget v850*-*-*]
&& ! [istarget xstormy16-*-*]
&& ! [istarget *-*-irix*]
&& ! [istarget *-*-rtems] } {
run_ld_link_tests {
147,8 → 161,8
set xfails [list "*-*-netbsdelf*"]
run_ld_link_exec_tests $xfails $array_tests
 
# Run PIE tests only on Linux.
if { [istarget "*-*-linux*"] } {
if { [istarget *-*-linux*]
|| [istarget *-*-gnu*] } {
run_ld_link_exec_tests $xfails $array_tests_pie
}
 
/ld-elf/warn3.d
2,10 → 2,9
#ld: tmpdir/symbol3w.o tmpdir/symbol3.a
#warning: .*: warning: badsym warning$
#readelf: -s
#notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
# if not using elf32.em, you don't get fancy section handling
#notarget: hppa64*-hpux*
#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
# generic linker targets don't support .gnu.warning sections.
 
# Check that warnings are generated for the symbols in .gnu.warning
# construct and that the symbol still appears as expected.
/lib/ld-lib.exp
552,7 → 552,6
set opts(error) {}
set opts(warning) {}
set opts(objcopy_linked_file) {}
set asflags(${file}.s) {}
 
foreach i $opt_array {
set opt_name [lindex $i 0]
570,13 → 569,13
warning {}
error {}
source {
# Move any source-specific as-flags to a separate array to
# Move any source-specific as-flags to a separate list to
# simplify processing.
if { [llength $opt_val] > 1 } {
set asflags([lindex $opt_val 0]) [lrange $opt_val 1 end]
lappend asflags [lrange $opt_val 1 end]
set opt_val [lindex $opt_val 0]
} else {
set asflags($opt_val) {}
lappend asflags {}
}
}
default {
669,6 → 668,7
 
if { $opts(source) == "" } {
set sourcefiles [list ${file}.s]
set asflags [list ""]
} else {
set sourcefiles {}
foreach sf $opts(source) {
677,8 → 677,6
} else {
lappend sourcefiles "$srcdir/$subdir/$sf"
}
# Must have asflags indexed on source name.
set asflags($srcdir/$subdir/$sf) $asflags($sf)
}
}
 
691,11 → 689,12
set objfiles {}
for { set i 0 } { $i < [llength $sourcefiles] } { incr i } {
set sourcefile [lindex $sourcefiles $i]
set sourceasflags [lindex $asflags $i]
 
set objfile "tmpdir/dump$i.o"
catch "exec rm -f $objfile" exec_output
lappend objfiles $objfile
set cmd "$AS $ASFLAGS $opts(as) $asflags($sourcefile) -o $objfile $sourcefile"
set cmd "$AS $ASFLAGS $opts(as) $sourceasflags -o $objfile $sourcefile"
 
send_log "$cmd\n"
set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "ld.tmp"]
/ld-mips-elf/jalx-2.ld
0,0 → 1,8
ENTRY (internal_function)
_start_text_phys = 0x4400000;
_start_text = _start_text_phys;
 
SECTIONS
{
.text _start_text : AT (ADDR (.text)) { *(.text) }
}
/ld-mips-elf/jalx-1.d
0,0 → 1,16
#name: MIPS jalx-1
#source: jalx-1.s
#ld: -T jalx-1.ld
#objdump: -d
 
.*: +file format .*mips.*
 
Disassembly of section \.text:
 
88000000 <test>:
88000000: f200 0002 jalx 88000008 <test1>
88000004: 0000 0000 nop
 
88000008 <test1>:
88000008: 00851821 addu v1,a0,a1
\.\.\.
/ld-mips-elf/jalx-1.s
0,0 → 1,15
.set noreorder
.set micromips
.ent test
.globl test
test:
jalx test1
nop
 
.set nomicromips
test1:
addu $3, $4, $5
.end test
 
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
.space 8
/ld-mips-elf/jalx-2-main.s
0,0 → 1,74
.file 1 "jalx-2-main.c"
.section .mdebug.abi32
.previous
.gnu_attribute 4, 1
.abicalls
.option pic0
.text
.align 2
.globl internal_function
.set nomips16
.set micromips
.ent internal_function
.type internal_function, @function
internal_function:
.frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0
.mask 0x40000000,-4
.fmask 0x00000000,0
.set noreorder
.set nomacro
 
addiu $sp,$sp,-8
sw $fp,4($sp)
move $fp,$sp
move $sp,$fp
lw $fp,4($sp)
jraddiusp 8
.set macro
.set reorder
.end internal_function
.size internal_function, .-internal_function
.rdata
.align 2
$LC0:
.ascii "hello world\012\000"
.text
.align 2
.globl main
.set nomips16
.set micromips
.ent main
.type main, @function
main:
.frame $fp,32,$31 # vars= 0, regs= 2/0, args= 16, gp= 8
.mask 0xc0000000,-4
.fmask 0x00000000,0
.set noreorder
.set nomacro
 
addiu $sp,$sp,-32
sw $31,28($sp)
sw $fp,24($sp)
move $fp,$sp
sw $4,32($fp)
sw $5,36($fp)
lui $2,%hi($LC0)
addiu $4,$2,%lo($LC0)
jal printf
nop
 
jal internal_function
nop
 
jal external_function
nop
 
move $sp,$fp
lw $31,28($sp)
lw $fp,24($sp)
jraddiusp 32
.set macro
.set reorder
.end main
.size main, .-main
.ident "GCC: (Sourcery G++ Lite 4.4-999999 - Preview) 4.4.1"
/ld-mips-elf/jalx-2.dd
0,0 → 1,58
.*: +file format .*mips.*
 
Disassembly of section \.text:
 
04400000 <external_function>:
4400000: 27bdfff8 addiu sp,sp,-8
4400004: afbe0004 sw s8,4\(sp\)
4400008: 03a0f021 move s8,sp
440000c: 03c0e821 move sp,s8
4400010: 8fbe0004 lw s8,4\(sp\)
4400014: 27bd0008 addiu sp,sp,8
4400018: 03e00008 jr ra
440001c: 00000000 nop
 
04400020 <internal_function>:
4400020: 4fb0 addiu sp,sp,-8
4400022: cbc1 sw s8,4\(sp\)
4400024: 0fdd move s8,sp
4400026: 0fbe move sp,s8
4400028: 4bc1 lw s8,4\(sp\)
440002a: 4702 jraddiusp 8
 
0440002c <main>:
440002c: 4ff1 addiu sp,sp,-32
440002e: cbe7 sw ra,28\(sp\)
4400030: cbc6 sw s8,24\(sp\)
4400032: 0fdd move s8,sp
4400034: f89e 0020 sw a0,32\(s8\)
4400038: f8be 0024 sw a1,36\(s8\)
440003c: 41a2 0440 lui v0,0x440
4400040: 3082 02a0 addiu a0,v0,672
4400044: f110 0028 jalx 44000a0 <_PROCEDURE_LINKAGE_TABLE_\+0x20>
4400048: 0000 0000 nop
440004c: f620 0010 jal 4400020 <internal_function>
4400050: 0000 0000 nop
4400054: f110 0000 jalx 4400000 <external_function>
4400058: 0000 0000 nop
440005c: 0fbe move sp,s8
440005e: 4be7 lw ra,28\(sp\)
4400060: 4bc6 lw s8,24\(sp\)
4400062: 4708 jraddiusp 32
\.\.\.
 
Disassembly of section \.plt:
 
04400080 <_PROCEDURE_LINKAGE_TABLE_>:
4400080: 3c1c0440 lui gp,0x440
4400084: 8f9900d8 lw t9,216\(gp\)
4400088: 279c00d8 addiu gp,gp,216
440008c: 031cc023 subu t8,t8,gp
4400090: 03e07821 move t7,ra
4400094: 0018c082 srl t8,t8,0x2
4400098: 0320f809 jalr t9
440009c: 2718fffe addiu t8,t8,-2
44000a0: 3c0f0440 lui t7,0x440
44000a4: 8df900e0 lw t9,224\(t7\)
44000a8: 03200008 jr t9
44000ac: 25f800e0 addiu t8,t7,224
/ld-mips-elf/jalx-2-ex.s
0,0 → 1,34
.file 1 "jalx-2-ex.c"
.section .mdebug.abi32
.previous
.gnu_attribute 4, 1
.abicalls
.option pic0
.text
.align 2
.globl external_function
.set nomips16
.set nomicromips
.ent external_function
.type external_function, @function
external_function:
.frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0
.mask 0x40000000,-4
.fmask 0x00000000,0
.set noreorder
.set nomacro
 
addiu $sp,$sp,-8
sw $fp,4($sp)
move $fp,$sp
move $sp,$fp
lw $fp,4($sp)
addiu $sp,$sp,8
j $31
nop
 
.set macro
.set reorder
.end external_function
.size external_function, .-external_function
.ident "GCC: (Sourcery G++ Lite 4.4-999999 - Preview) 4.4.1"
/ld-mips-elf/jalx-1.ld
0,0 → 1,8
ENTRY (test)
_start_text_phys = 0x88000000;
_start_text = _start_text_phys;
 
SECTIONS
{
.text _start_text : AT (ADDR (.text)) { *(.text) }
}
/ld-mips-elf/mips16-and-micromips.d
0,0 → 1,5
#name: MIPS16 and microMIPS interlink
#source: ../../../gas/testsuite/gas/mips/nop.s -mips16
#source: ../../../gas/testsuite/gas/mips/nop.s -mmicromips
#ld: -e0
#error: \A.*: .*\.o: ASE mismatch: linking microMIPS module with previous MIPS16 modules[\n\r]+.*: failed to merge target specific data of file .*\.o\Z
/ld-mips-elf/mips-elf.exp
123,6 → 123,31
# MIPS branch offset final link checking.
run_dump_test "branch-misc-1"
 
# Jalx test
run_dump_test "jalx-1"
 
if { $linux_gnu } {
run_ld_link_tests [list \
[list "Dummy shared library for JALX test 2" \
"-shared -nostdlib -melf32btsmip" \
"-G0 -EB -mmicromips -no-mdebug -mabi=32 -march=mips32r2 -KPIC" \
{ jalx-2-printf.s } \
{} \
"libjalx-2.so"] \
[list "Dummy external function for JALX test 2" \
"-r -melf32btsmip" \
"-G0 -EB -no-mdebug -mabi=32 -march=mips32r2 -mno-shared -call_nonpic" \
{ jalx-2-ex.s } \
{} \
"jalx-2-ex.o.r"] \
[list "MIPS JALX test 2" \
"-nostdlib -T jalx-2.ld tmpdir/libjalx-2.so tmpdir/jalx-2-ex.o.r -melf32btsmip" \
"-G0 -EB -mmicromips -no-mdebug -mabi=32 -march=mips32r2 -mno-shared -call_nonpic" \
{ jalx-2-main.s } \
{ { objdump -d jalx-2.dd } } \
"jalx-2"]]
}
 
# Test multi-got link. We only do this on GNU/Linux because it requires
# the "traditional" emulations.
if { $linux_gnu } {
549,3 → 574,6
run_dump_test "jr-to-b-1"
run_dump_test "jr-to-b-2"
}
 
# MIPS16 and microMIPS interlinking test.
run_dump_test "mips16-and-micromips"
/ld-mips-elf/jalx-2-printf.s
0,0 → 1,35
.file 1 "jalx-2-printf.c"
.section .mdebug.abi32
.previous
.gnu_attribute 4, 1
.abicalls
.text
.align 2
.globl printf
.set nomips16
.set micromips
.ent printf
.type printf, @function
printf:
.frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0
.mask 0x40000000,-4
.fmask 0x00000000,0
.set noreorder
.set nomacro
 
addiu $sp,$sp,-8
sw $fp,4($sp)
move $fp,$sp
sw $5,12($fp)
sw $6,16($fp)
sw $7,20($fp)
sw $4,8($fp)
move $2,$0
move $sp,$fp
lw $fp,4($sp)
jraddiusp 8
.set macro
.set reorder
.end printf
.size printf, .-printf
.ident "GCC: (Sourcery G++ Lite 4.4-999999 - Preview) 4.4.1"
/ld-scripts/section-flags-1.s
0,0 → 1,2
.text
.space 16
/ld-scripts/section-flags-1.t
0,0 → 1,21
MEMORY
{
ram (rwx) : ORIGIN = 0x100000, LENGTH = 144M
}
 
SECTIONS
{
.text :
{
INPUT_SECTION_FLAGS (!SHF_TLS) *(.text .text.* .text_* .gnu.linkonce.t.*)
} >ram
 
.text_vle :
{
INPUT_SECTION_FLAGS (SHF_MERGE & SHF_STRINGS & SHF_LINK_ORDER) *(.text .text.* .text_* .gnu.linkonce.t.*)
} >ram
.text_other :
{
INPUT_SECTION_FLAGS (SHF_MERGE & !SHF_STRINGS) *(.text .text.* .text_* .gnu.linkonce.t.*)
}
}
/ld-scripts/section-flags.exp
0,0 → 1,41
# Test SECTION_FLAGS in a linker script.
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
 
# These tests only work for ELF targets
if {! [is_elf_format]} {
return
}
 
set ldcmd $ld
if { [istarget spu*-*-*] } {
set ldcmd "$ldcmd --local-store 0:0"
}
 
foreach test {"section-flags-1" "section-flags-2"} {
if ![ld_assemble $as $srcdir/$subdir/$test.s tmpdir/$test.o] {
unresolved $test
} else {
if ![ld_simple_link $ldcmd tmpdir/$test \
"-T $srcdir/$subdir/$test.t tmpdir/$test.o"] {
fail $test
} else {
pass $test
}
}
}
/ld-scripts/section-flags-2.s
0,0 → 1,2
.text
.space 16
/ld-scripts/section-flags-2.t
0,0 → 1,12
MEMORY
{
ram (rwx) : ORIGIN = 0x100000, LENGTH = 144M
}
 
SECTIONS
{
.text :
{
INPUT_SECTION_FLAGS (!SHF_TLS) *(EXCLUDE_FILE (section-flags-1.o) .text .text.* .text_* .gnu.linkonce.t.*)
} >ram
}
/ld-ifunc/ifunc-3a-x86.d
4,5 → 4,5
#target: x86_64-*-* i?86-*-*
 
#...
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x258|)@plt>
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x1b0|\+0x260|)@plt>
#pass
/ld-ifunc/ifunc.exp
244,19 → 244,19
# Check the executables and shared libraries
#
# The linked ifunc using executables and the shared library containing
# ifunc should have an OSABI field of LINUX. The linked non-ifunc using
# ifunc should have an OSABI field of GNU. The linked non-ifunc using
# executable should have an OSABI field of NONE (aka System V).
 
if {! [check_osabi tmpdir/libshared_ifunc.so {UNIX - Linux}]} {
fail "Shared libraries containing ifunc does not have an OS/ABI field of LINUX"
if {! [check_osabi tmpdir/libshared_ifunc.so {UNIX - GNU}]} {
fail "Shared libraries containing ifunc does not have an OS/ABI field of GNU"
set fails [expr $fails + 1]
}
if {! [check_osabi tmpdir/local_prog {UNIX - Linux}]} {
fail "Local ifunc-using executable does not have an OS/ABI field of LINUX"
if {! [check_osabi tmpdir/local_prog {UNIX - GNU}]} {
fail "Local ifunc-using executable does not have an OS/ABI field of GNU"
set fails [expr $fails + 1]
}
if {! [check_osabi tmpdir/static_prog {UNIX - Linux}]} {
fail "Static ifunc-using executable does not have an OS/ABI field of LINUX"
if {! [check_osabi tmpdir/static_prog {UNIX - GNU}]} {
fail "Static ifunc-using executable does not have an OS/ABI field of GNU"
set fails [expr $fails + 1]
}
if {! [check_osabi tmpdir/dynamic_prog {UNIX - System V}]} {
/ld-ifunc/ifunc-1-x86.d
3,5 → 3,5
#target: x86_64-*-* i?86-*-*
 
#...
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x220|)@plt>
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x190|\+0x220|)@plt>
#pass
/ld-ifunc/ifunc-1-local-x86.d
3,5 → 3,5
#target: x86_64-*-* i?86-*-*
 
#...
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x200|)@plt>
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x170|\+0x200|)@plt>
#pass
/ld-mmix/pr12815-2.d
0,0 → 1,7
#as: -no-predefined-syms -x
#ld: -e 0x1000 --defsym bar=0x100000000 -m elf64mmix -T $srcdir/$subdir/pr12815-1.ld
#error: invalid input relocation.*objcopy.*"-no-expand".*truncated
 
# Check that we emit a meaningful error message rather than SEGV when
# someone attempts linking to the "binary" output format with
# expanding PUSHJ insns, expecting relaxation to work.
/ld-mmix/pr12815-2.s
0,0 → 1,14
# 1 "m.c"
! mmixal:= 8H LOC Data_Section
.text ! mmixal:= 9H LOC 8B
.p2align 2
LOC @+(4-@)&3
.global main
main IS @
GET $0,rJ
PUSHJ $1,bar
PUSHJ $1,bar
PUT rJ,$0
POP 1,0
 
.data ! mmixal:= 8H LOC 9B
/ld-mmix/pr12815-1.ld
0,0 → 1,14
OUTPUT_FORMAT("binary")
ENTRY(start)
SECTIONS
{
. = 0x8000000000100000;
.text : AT(ADDR(.text) - 0x8000000000100000)
{
*(.text)
*(.data)
*(.rodata*)
*(COMMON*)
*(.bss*)
}
}
/ld-mmix/pr12815-1.d
0,0 → 1,7
#as: -no-predefined-syms -x
#ld: -e 0x1000 -m elf64mmix -T $srcdir/$subdir/pr12815-1.ld
#error: invalid input relocation.*objcopy.*"-mno-base-addresses".*truncated
 
# Check that we emit a meaningful error message rather than SEGV when
# someone attempts linking to the "binary" output format with
# -mbase-addresses in effect.
/ld-mmix/pr12815-1.s
0,0 → 1,26
# 1 "m.c"
! mmixal:= 8H LOC Data_Section
.text ! mmixal:= 9H LOC 8B
.data ! mmixal:= 8H LOC 9B
.p2align 2
LOC @+(4-@)&3
foo IS @
TETRA #2
.text ! mmixal:= 9H LOC 8B
.p2align 2
LOC @+(4-@)&3
.global main
main IS @
SUBU $254,$254,8
STOU $253,$254,0
ADDU $253,$254,8
LDT $0,foo
ADDU $0,$0,1
SET $0,$0
STTU $0,foo
SETL $0,0
LDO $253,$254,0
ADDU $254,$254,8
POP 1,0
 
.data ! mmixal:= 8H LOC 9B
/ld-x86-64/tlsbin.rd
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#readelf: -WSsrl
#target: x86_64-*-*
 
/ld-x86-64/pr13082-4a.d
0,0 → 1,9
#source: pr13082-4.s
#name: PR ld/13082-4 (a)
#as: --x32
#ld: -shared -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +[0-9a-f]+ +func \+ 1
/ld-x86-64/pr13082-6b.d
0,0 → 1,13
#source: pr13082-6.s
#name: PR ld/13082-6 (b)
#as: --x32
#ld: -pie -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
 
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
/ld-x86-64/ilp32-6.d
0,0 → 1,3
#as: --x32
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000
#error: .*relocation truncated to fit: R_X86_64_32S.*
/ld-x86-64/pr13082-3.s
0,0 → 1,10
.text
.globl _start
_start:
lea .Ljmp(%rip), %rax
jmp *(%rax)
.section .data.rel.ro.local,"aw",@progbits
.weak func
.align 8
.Ljmp:
.quad func
/ld-x86-64/ilp32-6.s
0,0 → 1,3
.globl _start
_start:
mov $_start,%rax
/ld-x86-64/tlsbin.sd
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -sj.got
#target: x86_64-*-*
 
/ld-x86-64/pr13082-1b.d
0,0 → 1,9
#source: pr13082-1.s
#name: PR ld/13082-1 (b)
#as: --x32
#ld: -pie -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+
/ld-x86-64/x86-64.exp
38,12 → 38,14
# readelf: Apply readelf options on result. Compare with regex (last arg).
 
set x86_64tests {
{"TLS -fpic -shared transitions" "-shared -melf_x86_64"
{"TLS -fpic -shared transitions"
"-shared -melf_x86_64 --no-ld-generated-unwind-info"
"--64" {tlspic1.s tlspic2.s}
{{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd}
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
"libtlspic.so"}
{"TLS descriptor -fpic -shared transitions" "-shared -melf_x86_64"
{"TLS descriptor -fpic -shared transitions"
"-shared -melf_x86_64 --no-ld-generated-unwind-info"
"--64" {tlsdesc.s tlspic2.s}
{{readelf -WSsrld tlsdesc.rd} {objdump -drj.text tlsdesc.dd}
{objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}
51,17 → 53,20
{"Helper shared library" "-shared -melf_x86_64"
"--64" {tlslib.s} {} "libtlslib.so"}
{"TLS -fpic and -fno-pic exec transitions"
"-melf_x86_64 tmpdir/libtlslib.so" "--64" {tlsbinpic.s tlsbin.s}
"-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info"
"--64" {tlsbinpic.s tlsbin.s}
{{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
"tlsbin"}
{"TLS descriptor -fpic and -fno-pic exec transitions"
"-melf_x86_64 tmpdir/libtlslib.so" "--64" {tlsbindesc.s tlsbin.s}
"-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info"
"--64" {tlsbindesc.s tlsbin.s}
{{readelf -WSsrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd}
{objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}}
"tlsbindesc"}
{"TLS with global dynamic and descriptors"
"-shared -melf_x86_64" "--64" {tlsgdesc.s}
"-shared -melf_x86_64 --no-ld-generated-unwind-info"
"--64" {tlsgdesc.s}
{{readelf -WSsrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}}
"libtlsgdesc.so"}
{"TLS in debug sections" "-melf_x86_64"
84,7 → 89,7
"--64" {mixed2a.s} {} "libmixe2a.o"}
{"Helper 32bit object 2" "-r -melf_i386"
"--32" {mixed2b.s} {} "libmixe2b.o"}
{"Split by file with 'l' flag on section." "-split-by-file -r"
{"Split by file with 'l' flag on section." "-split-by-file -r -melf_x86_64"
"--64" {split-by-file1.s split-by-file2.s}
{{readelf -SW split-by-file.rd}} "split-by-file.o"}
{"TLS X32 IE->LE transition" "-melf32_x86_64"
156,6 → 161,7
run_dump_test "nogot2"
run_dump_test "discarded1"
run_dump_test "pr12718"
run_dump_test "pr12921"
 
if { ![istarget "x86_64-*-linux*"] } {
return
197,6 → 203,10
run_dump_test "ilp32-3"
run_dump_test "ilp32-4"
run_dump_test "ilp32-5"
run_dump_test "ilp32-6"
run_dump_test "ilp32-7"
run_dump_test "ilp32-8"
run_dump_test "ilp32-9"
run_dump_test "ia32-1"
run_dump_test "ia32-2"
run_dump_test "ia32-3"
203,6 → 213,18
run_dump_test "lp64-1"
run_dump_test "lp64-2"
run_dump_test "lp64-3"
run_dump_test "pr13082-1a"
run_dump_test "pr13082-1b"
run_dump_test "pr13082-2a"
run_dump_test "pr13082-2b"
run_dump_test "pr13082-3a"
run_dump_test "pr13082-3b"
run_dump_test "pr13082-4a"
run_dump_test "pr13082-4b"
run_dump_test "pr13082-5a"
run_dump_test "pr13082-5b"
run_dump_test "pr13082-6a"
run_dump_test "pr13082-6b"
 
# Must be native with the C compiler
if { [isnative] && [which $CC] != 0 } {
/ld-x86-64/tlsbin.dd
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: x86_64-*-*
 
/ld-x86-64/tlsgd5.dd
10,5 → 10,5
 
[a-f0-9]+ <_start>:
[ ]*[a-f0-9]+: 64 48 8b 04 25 00 00 00 00 mov %fs:0x0,%rax
[ ]*[a-f0-9]+: 48 03 05 00 01 20 00 add 0x200100\(%rip\),%rax # 600368 <_DYNAMIC\+0x100>
[ ]*[a-f0-9]+: 48 03 05 40 01 20 00 add 0x200140\(%rip\),%rax # 6003a8 <_DYNAMIC\+0x100>
#pass
/ld-x86-64/tlsbin.td
1,7 → 1,7
#source: tlsbinpic.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: x86_64-*-*
 
/ld-x86-64/pr13082-2a.d
0,0 → 1,9
#source: pr13082-2.s
#name: PR ld/13082-2 (a)
#as: --x32
#ld: -shared -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +_start \+ 0
/ld-x86-64/tlsdesc.pd
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -drj.plt
#target: x86_64-*-*
 
/ld-x86-64/protected3-k1om.d
0,0 → 1,16
#source: protected3.s
#as: --64 -march=k1om
#ld: -shared -melf_k1om
#readelf: -h
 
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 \(current\)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN \(Shared object file\)
Machine: Intel K1OM
Version: 0x1
#pass
/ld-x86-64/pr13082-4b.d
0,0 → 1,9
#source: pr13082-4.s
#name: PR ld/13082-4 (b)
#as: --x32
#ld: -pie -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +[0-9a-f]+ +func \+ 1
/ld-x86-64/ilp32-7.d
0,0 → 1,3
#as: --x32
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000
#error: .*relocation truncated to fit: R_X86_64_32S.*
/ld-x86-64/pr13082-4.s
0,0 → 1,10
.text
.globl _start
_start:
lea .Ljmp(%rip), %rax
jmp *(%rax)
.section .data.rel.ro.local,"aw",@progbits
.weak func
.align 8
.Ljmp:
.quad func + 1
/ld-x86-64/tlsbindesc.rd
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#readelf: -WSsrl
#target: x86_64-*-*
 
/ld-x86-64/ilp32-7.s
0,0 → 1,3
.globl _start
_start:
mov _start,%rax
/ld-x86-64/pr12921.d
0,0 → 1,21
#name: PR ld/12921
#as: --64
#ld: -melf_x86_64
#readelf: -S --wide
 
There are 7 section headers, starting at offset 0x2058:
 
Section Headers:
\[Nr\] Name Type Address Off Size ES Flg Lk Inf Al
\[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0
\[ 1\] .text PROGBITS 0000000000401000 001000 000001 00 AX 0 0 4096
\[ 2\] .data PROGBITS 0000000000602000 002000 000028 00 WA 0 0 4096
\[ 3\] .bss NOBITS 0000000000603000 002028 010000 00 WA 0 0 4096
\[ 4\] .shstrtab STRTAB 0000000000000000 002028 00002c 00 0 0 1
\[ 5\] .symtab SYMTAB 0000000000000000 002218 000120 18 6 6 8
\[ 6\] .strtab STRTAB 0000000000000000 002338 000037 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\)
#pass
/ld-x86-64/protected2-k1om.d
0,0 → 1,17
#source: protected2.s
#as: --64 -march=k1om
#ld: -shared -melf_k1om
#objdump: -drw
 
.*: +file format .*
 
 
Disassembly of section .text:
 
0+[a-f0-9]+ <foo>:
[ ]*[a-f0-9]+: c3 retq
 
0+[a-f0-9]+ <bar>:
[ ]*[a-f0-9]+: e8 fa ff ff ff callq [a-f0-9]+ <foo>
[ ]*[a-f0-9]+: c3 retq
#pass
/ld-x86-64/pr13082-5a.d
0,0 → 1,14
#source: pr13082-5.s
#name: PR ld/13082-5 (a)
#as: --x32
#ld: -shared -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +ifunc\(\)+ +ifunc \+ 0
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +ifunc\(\)+ +ifunc \+ 0
 
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +ifunc\(\)+ +ifunc \+ 0
/ld-x86-64/tlsgdesc.rd
1,6 → 1,6
#source: tlsgdesc.s
#as: --64
#ld: -shared -melf64_x86_64
#ld: -shared -melf64_x86_64 --no-ld-generated-unwind-info
#readelf: -WSsrl
#target: x86_64-*-*
 
/ld-x86-64/pr12921.s
0,0 → 1,25
.text
.balign 4096
vtext:
.p2align 4,,15
.globl _start
.type _start, @function
_start:
ret
.size _start, .-_start
.globl vdata
.data
.align 4096
.type vdata, @object
.size vdata, 4
vdata:
.long 5
.comm vbss,65536,4096
.align 16
.type local, @object
.size local, 24
local:
.byte 77
.zero 7
.dc.a local
.dc.a 0
/ld-x86-64/tlsbindesc.sd
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -sj.got
#target: x86_64-*-*
 
/ld-x86-64/pr13082-2b.d
0,0 → 1,9
#source: pr13082-2.s
#name: PR ld/13082-2 (b)
#as: --x32
#ld: -pie -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
/ld-x86-64/tlsdesc.rd
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#readelf: -WSsrld
#target: x86_64-*-*
 
15,7 → 15,7
+\[[ 0-9]+\] .dynstr +.*
+\[[ 0-9]+\] .rela.dyn +.*
+\[[ 0-9]+\] .rela.plt +.*
+\[[ 0-9]+\] .plt +PROGBITS +0+450 0+450 0+20 10 +AX +0 +0 +4
+\[[ 0-9]+\] .plt +PROGBITS +0+450 0+450 0+20 10 +AX +0 +0 +(4|16)
+\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+154 00 +AX +0 +0 4096
+\[[ 0-9]+\] .tdata +PROGBITS +0+201154 0+1154 0+60 00 WAT +0 +0 +1
+\[[ 0-9]+\] .tbss +NOBITS +0+2011b4 0+11b4 0+20 00 WAT +0 +0 +1
/ld-x86-64/ilp32-4.d
1,6 → 1,6
#source: start.s
#as: --x32
#ld: -m elf32_x86_64 -shared
#ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info
#readelf: -d -S --wide
 
There are 10 section headers, starting at offset 0x22c:
/ld-x86-64/pr13082-1.s
0,0 → 1,10
.text
.globl _start
_start:
lea .Ljmp(%rip), %rax
.L1:
jmp *(%rax)
.section .data.rel.ro.local,"aw",@progbits
.align 8
.Ljmp:
.quad .L1
/ld-x86-64/tlsbindesc.dd
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: x86_64-*-*
 
/ld-x86-64/ilp32-8.d
0,0 → 1,13
#as: --x32
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000
#objdump: -dw
 
.*: +file format elf32-x86-64
 
 
Disassembly of section .text:
 
e0000054 <_start>:
[ ]*[a-f0-9]+: 48 b8 54 00 00 e0 00 00 00 00 movabs \$0xe0000054,%rax
[ ]*[a-f0-9]+: 48 a1 54 00 00 e0 00 00 00 00 movabs 0xe0000054,%rax
#pass
/ld-x86-64/pr13082-5.s
0,0 → 1,12
.text
.globl _start
.globl ifunc
.type ifunc, @gnu_indirect_function
_start:
lea .Ljmp(%rip), %rax
ifunc:
jmp *(%rax)
.section .data.rel.ro.local,"aw",@progbits
.align 8
.Ljmp:
.quad ifunc
/ld-x86-64/tlsgd6.dd
10,5 → 10,5
 
[a-f0-9]+ <_start>:
[ ]*[a-f0-9]+: 64 8b 04 25 00 00 00 00 mov %fs:0x0,%eax
[ ]*[a-f0-9]+: 48 03 05 81 00 20 00 add 0x200081\(%rip\),%rax # 60022c <_DYNAMIC\+0x80>
[ ]*[a-f0-9]+: 48 03 05 c5 00 20 00 add 0x2000c5\(%rip\),%rax # 600270 <_DYNAMIC\+0x80>
#pass
/ld-x86-64/tlsgdesc.dd
1,6 → 1,6
#source: tlsgdesc.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: x86_64-*-*
 
20,7 → 20,7
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 48 03 0d 5e 02 20 00[ ]+add 0x20025e\(%rip\),%rcx +# 200660 <.*>
+[0-9a-f]+: 48 03 0d 5e 02 20 00[ ]+add 0x20025e\(%rip\),%rcx +# 200668 <.*>
# -> R_X86_64_TPOFF64 sG3
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
31,7 → 31,7
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 48 03 0d 68 02 20 00[ ]+add 0x200268\(%rip\),%rcx +# 200680 <.*>
+[0-9a-f]+: 48 03 0d 68 02 20 00[ ]+add 0x200268\(%rip\),%rcx +# 200688 <.*>
# -> R_X86_64_TPOFF64 sG4
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
38,7 → 38,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
# GD, gd first
+[0-9a-f]+: 66 48 8d 3d 6c 02 20[ ]+data32 lea 0x20026c\(%rip\),%rdi +# 200690 <.*>
+[0-9a-f]+: 66 48 8d 3d 6c 02 20[ ]+data32 lea 0x20026c\(%rip\),%rdi +# 200698 <.*>
+[0-9a-f]+: 00 *
# -> R_X86_64_DTPMOD64 sG1
+[0-9a-f]+: 66 66 48 e8 9c ff ff[ ]+data32 data32 callq [0-9a-f]+ <.*>
48,7 → 48,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 48 8d 05 a1 02 20 00[ ]+lea 0x2002a1\(%rip\),%rax +# 2006d8 <.*>
+[0-9a-f]+: 48 8d 05 a1 02 20 00[ ]+lea 0x2002a1\(%rip\),%rax +# 2006e0 <.*>
# -> R_X86_64_TLSDESC sG1
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
+[0-9a-f]+: 90[ ]+nop *
56,7 → 56,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
# GD, desc first
+[0-9a-f]+: 48 8d 05 84 02 20 00[ ]+lea 0x200284\(%rip\),%rax +# 2006c8 <.*>
+[0-9a-f]+: 48 8d 05 84 02 20 00[ ]+lea 0x200284\(%rip\),%rax +# 2006d0 <.*>
# -> R_X86_64_TLSDESC sG2
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
+[0-9a-f]+: 90[ ]+nop *
63,7 → 63,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 66 48 8d 3d 1e 02 20[ ]+data32 lea 0x20021e\(%rip\),%rdi +# 200670 <.*>
+[0-9a-f]+: 66 48 8d 3d 1e 02 20[ ]+data32 lea 0x20021e\(%rip\),%rdi +# 200678 <.*>
+[0-9a-f]+: 00 *
# -> R_X86_64_DTPMOD64 sG2
+[0-9a-f]+: 66 66 48 e8 6e ff ff[ ]+data32 data32 callq [0-9a-f]+ <.*>
76,13 → 76,13
# GD -> IE, gd first, after IE use
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 48 03 05 f2 01 20 00[ ]+add 0x2001f2\(%rip\),%rax +# 200660 <.*>
+[0-9a-f]+: 48 03 05 f2 01 20 00[ ]+add 0x2001f2\(%rip\),%rax +# 200668 <.*>
# -> R_X86_64_TPOFF64 sG3
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 0x2001e7\(%rip\),%rax +# 200660 <.*>
+[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 0x2001e7\(%rip\),%rax +# 200668 <.*>
# -> R_X86_64_TPOFF64 sG3
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
+[0-9a-f]+: 90[ ]+nop *
90,7 → 90,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
# GD -> IE, desc first, after IE use
+[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 0x2001fa\(%rip\),%rax +# 200680 <.*>
+[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 0x2001fa\(%rip\),%rax +# 200688 <.*>
# -> R_X86_64_TPOFF64 sG4
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
+[0-9a-f]+: 90[ ]+nop *
99,7 → 99,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 48 03 05 e4 01 20 00[ ]+add 0x2001e4\(%rip\),%rax +# 200680 <.*>
+[0-9a-f]+: 48 03 05 e4 01 20 00[ ]+add 0x2001e4\(%rip\),%rax +# 200688 <.*>
# -> R_X86_64_TPOFF64 sG4
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
108,13 → 108,13
# GD -> IE, gd first, before IE use
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 48 03 05 b8 01 20 00[ ]+add 0x2001b8\(%rip\),%rax +# 200668 <.*>
+[0-9a-f]+: 48 03 05 b8 01 20 00[ ]+add 0x2001b8\(%rip\),%rax +# 200670 <.*>
# -> R_X86_64_TPOFF64 sG5
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 0x2001ad\(%rip\),%rax +# 200668 <.*>
+[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 0x2001ad\(%rip\),%rax +# 200670 <.*>
# -> R_X86_64_TPOFF64 sG5
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
+[0-9a-f]+: 90[ ]+nop *
122,7 → 122,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
# GD -> IE, desc first, before IE use
+[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 0x2001c0\(%rip\),%rax +# 200688 <.*>
+[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 0x2001c0\(%rip\),%rax +# 200690 <.*>
# -> R_X86_64_TPOFF64 sG6
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
+[0-9a-f]+: 90[ ]+nop *
131,7 → 131,7
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 48 03 05 aa 01 20 00[ ]+add 0x2001aa\(%rip\),%rax +# 200688 <.*>
+[0-9a-f]+: 48 03 05 aa 01 20 00[ ]+add 0x2001aa\(%rip\),%rax +# 200690 <.*>
# -> R_X86_64_TPOFF64 sG6
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
142,7 → 142,7
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 48 03 0d 74 01 20 00[ ]+add 0x200174\(%rip\),%rcx +# 200668 <.*>
+[0-9a-f]+: 48 03 0d 74 01 20 00[ ]+add 0x200174\(%rip\),%rcx +# 200670 <.*>
# -> R_X86_64_TPOFF64 sG5
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
153,7 → 153,7
+[0-9a-f]+: 00 00 *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 48 03 0d 7e 01 20 00[ ]+add 0x20017e\(%rip\),%rcx +# 200688 <.*>
+[0-9a-f]+: 48 03 0d 7e 01 20 00[ ]+add 0x20017e\(%rip\),%rcx +# 200690 <.*>
# -> R_X86_64_TPOFF64 sG6
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
/ld-x86-64/ilp32-8.s
0,0 → 1,5
.text
.globl _start
_start:
movabs $_start,%rax
movabs _start,%rax
/ld-x86-64/tlsbindesc.td
1,7 → 1,7
#source: tlsbindesc.s
#source: tlsbin.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: x86_64-*-*
 
/ld-x86-64/pr13082-3a.d
0,0 → 1,9
#source: pr13082-3.s
#name: PR ld/13082-3 (a)
#as: --x32
#ld: -shared -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +func \+ 0
/ld-x86-64/tlspic.rd
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#readelf: -WSsrl
#target: x86_64-*-*
 
/ld-x86-64/pr13082-5b.d
0,0 → 1,13
#source: pr13082-5.s
#name: PR ld/13082-5 (b)
#as: --x32
#ld: -pie -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
 
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
/ld-x86-64/tlsdesc.sd
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -s -j.got -j.got.plt
#target: x86_64-*-*
 
/ld-x86-64/tlsdesc.dd
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: x86_64-*-*
 
/ld-x86-64/tlspic.sd
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -sj.got
#target: x86_64-*-*
 
/ld-x86-64/pr13082-6a.d
0,0 → 1,13
#source: pr13082-6.s
#name: PR ld/13082-6 (a)
#as: --x32
#ld: -shared -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
 
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
/ld-x86-64/tlsdesc.td
1,7 → 1,7
#source: tlsdesc.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: x86_64-*-*
 
/ld-x86-64/pr13082-2.s
0,0 → 1,9
.text
.globl _start
_start:
lea .Ljmp(%rip), %rax
jmp *(%rax)
.section .data.rel.ro.local,"aw",@progbits
.align 8
.Ljmp:
.quad _start
/ld-x86-64/ilp32-9.d
0,0 → 1,9
#as: --x32
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000
#objdump: -s -j .text
 
.*: +file format .*
 
Contents of section .text:
e0000054 540000e0 00000000 T.......
#pass
/ld-x86-64/pr13082-6.s
0,0 → 1,11
.text
.globl _start
.type ifunc, @gnu_indirect_function
_start:
lea .Ljmp(%rip), %rax
ifunc:
jmp *(%rax)
.section .data.rel.ro.local,"aw",@progbits
.align 8
.Ljmp:
.quad ifunc
/ld-x86-64/tlspic.dd
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: x86_64-*-*
 
/ld-x86-64/abs-k1om.d
0,0 → 1,11
#name: Absolute non-overflowing relocs
#source: ../ld-i386/abs.s
#source: ../ld-i386/zero.s
#as: --64 -march=k1om
#ld: -m elf_k1om
#objdump: -rs -j .text
 
.*: file format .*
 
Contents of section \.text:
[ ][0-9a-f]+ c800fff0 c8000110 c9c3.*
/ld-x86-64/pcrel16.d
3,7 → 3,7
#ld: -Ttext 0x0
#objdump: -drj.text -m i8086
 
.*: +file format elf64-x86-64
.*: +file format elf.*-x86-64
 
Disassembly of section .text:
 
/ld-x86-64/pr13082-1a.d
0,0 → 1,9
#source: pr13082-1.s
#name: PR ld/13082-1 (a)
#as: --x32
#ld: -shared -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+
/ld-x86-64/ilp32-9.s
0,0 → 1,4
.text
.globl _start
_start:
.quad _start
/ld-x86-64/pr13082-3b.d
0,0 → 1,9
#source: pr13082-3.s
#name: PR ld/13082-3 (b)
#as: --x32
#ld: -pie -melf32_x86_64
#readelf: -r --wide
 
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +func \+ 0
/ld-x86-64/tlspic.td
1,7 → 1,7
#source: tlspic1.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: x86_64-*-*
 
/ld-elfvsb/elfvsb.exp
302,7 → 302,9
setup_xfail "sparc*-*-linux*"
}
}
setup_xfail "x86_64-*-linux*"
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
343,7 → 345,9
setup_xfail "alpha*-*-linux*"
setup_xfail "mips*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
415,7 → 419,9
setup_xfail "sparc*-*-linux*"
}
}
setup_xfail "x86_64-*-linux*"
if { [is_elf64 $tmpdir/mainp.o] } {
setup_xfail "x86_64-*-linux*"
}
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.