| Line 36... |
Line 36... |
# objdump: Apply objdump options on result. Compare with regex (last arg).
|
# objdump: Apply objdump options on result. Compare with regex (last arg).
|
# nm: Apply nm options on result. Compare with regex (last arg).
|
# nm: Apply nm options on result. Compare with regex (last arg).
|
# readelf: Apply readelf options on result. Compare with regex (last arg).
|
# readelf: Apply readelf options on result. Compare with regex (last arg).
|
|
|
set x86_64tests {
|
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}
|
"--64" {tlspic1.s tlspic2.s}
|
{{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd}
|
{{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd}
|
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
|
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
|
"libtlspic.so"}
|
"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}
|
"--64" {tlsdesc.s tlspic2.s}
|
{{readelf -WSsrld tlsdesc.rd} {objdump -drj.text tlsdesc.dd}
|
{{readelf -WSsrld tlsdesc.rd} {objdump -drj.text tlsdesc.dd}
|
{objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}
|
{objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}
|
{objdump -drj.plt tlsdesc.pd}} "libtlsdesc.so"}
|
{objdump -drj.plt tlsdesc.pd}} "libtlsdesc.so"}
|
{"Helper shared library" "-shared -melf_x86_64"
|
{"Helper shared library" "-shared -melf_x86_64"
|
"--64" {tlslib.s} {} "libtlslib.so"}
|
"--64" {tlslib.s} {} "libtlslib.so"}
|
{"TLS -fpic and -fno-pic exec transitions"
|
{"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}
|
{{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
|
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
|
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
|
"tlsbin"}
|
"tlsbin"}
|
{"TLS descriptor -fpic and -fno-pic exec transitions"
|
{"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}
|
{{readelf -WSsrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd}
|
{objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}}
|
{objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}}
|
"tlsbindesc"}
|
"tlsbindesc"}
|
{"TLS with global dynamic and descriptors"
|
{"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}}
|
{{readelf -WSsrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}}
|
"libtlsgdesc.so"}
|
"libtlsgdesc.so"}
|
{"TLS in debug sections" "-melf_x86_64"
|
{"TLS in debug sections" "-melf_x86_64"
|
"--64" {tlsg.s}
|
"--64" {tlsg.s}
|
{{objdump -sj.debug_foobar tlsg.sd}} "tlsg"}
|
{{objdump -sj.debug_foobar tlsg.sd}} "tlsg"}
|
| Line 82... |
Line 87... |
"--32" {mixed1b.s} {} "libmixe1b.o"}
|
"--32" {mixed1b.s} {} "libmixe1b.o"}
|
{"Helper 64bit object 2" "-r -melf_x86_64"
|
{"Helper 64bit object 2" "-r -melf_x86_64"
|
"--64" {mixed2a.s} {} "libmixe2a.o"}
|
"--64" {mixed2a.s} {} "libmixe2a.o"}
|
{"Helper 32bit object 2" "-r -melf_i386"
|
{"Helper 32bit object 2" "-r -melf_i386"
|
"--32" {mixed2b.s} {} "libmixe2b.o"}
|
"--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}
|
"--64" {split-by-file1.s split-by-file2.s}
|
{{readelf -SW split-by-file.rd}} "split-by-file.o"}
|
{{readelf -SW split-by-file.rd}} "split-by-file.o"}
|
{"TLS X32 IE->LE transition" "-melf32_x86_64"
|
{"TLS X32 IE->LE transition" "-melf32_x86_64"
|
"--x32" {tlsie4.s}
|
"--x32" {tlsie4.s}
|
{{objdump -dwr tlsie4.dd}} "tlsie4"}
|
{{objdump -dwr tlsie4.dd}} "tlsie4"}
|
| Line 154... |
Line 159... |
run_dump_test "unique1"
|
run_dump_test "unique1"
|
run_dump_test "nogot1"
|
run_dump_test "nogot1"
|
run_dump_test "nogot2"
|
run_dump_test "nogot2"
|
run_dump_test "discarded1"
|
run_dump_test "discarded1"
|
run_dump_test "pr12718"
|
run_dump_test "pr12718"
|
|
run_dump_test "pr12921"
|
|
|
if { ![istarget "x86_64-*-linux*"] } {
|
if { ![istarget "x86_64-*-linux*"] } {
|
return
|
return
|
}
|
}
|
|
|
| Line 195... |
Line 201... |
run_dump_test "ilp32-1"
|
run_dump_test "ilp32-1"
|
run_dump_test "ilp32-2"
|
run_dump_test "ilp32-2"
|
run_dump_test "ilp32-3"
|
run_dump_test "ilp32-3"
|
run_dump_test "ilp32-4"
|
run_dump_test "ilp32-4"
|
run_dump_test "ilp32-5"
|
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-1"
|
run_dump_test "ia32-2"
|
run_dump_test "ia32-2"
|
run_dump_test "ia32-3"
|
run_dump_test "ia32-3"
|
run_dump_test "lp64-1"
|
run_dump_test "lp64-1"
|
run_dump_test "lp64-2"
|
run_dump_test "lp64-2"
|
run_dump_test "lp64-3"
|
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
|
# Must be native with the C compiler
|
if { [isnative] && [which $CC] != 0 } {
|
if { [isnative] && [which $CC] != 0 } {
|
run_cc_link_tests {
|
run_cc_link_tests {
|
{"Helper X32 DSO from x86-64 object" "" "-m64 -fPIC -g"
|
{"Helper X32 DSO from x86-64 object" "" "-m64 -fPIC -g"
|