* ld-scripts/crossref.exp: New test.
[deliverable/binutils-gdb.git] / ld / testsuite / ld-scripts / crossref.exp
1 # Test NOCROSSREFS in a linker script.
2 # By Ian Lance Taylor, Cygnus Support.
3
4 set testname "NOCROSSREFS"
5
6 if { [which $CC] == 0 } {
7 untested $testname
8 return
9 }
10
11 if { ![ld_compile $CC "$srcdir/$subdir/cross1.c" tmpdir/cross1.o] \
12 || ![ld_compile $CC "$srcdir/$subdir/cross2.c" tmpdir/cross2.o] } {
13 unresolved $testname
14 return
15 }
16
17 verbose -log "$ld -o tmpdir/crossref -T $srcdir/$subdir/crossref.t tmpdir/cross1.o tmpdir/cross2.o"
18
19 catch "exec $ld -o tmpdir/crossref -T $srcdir/$subdir/crossref.t tmpdir/cross1.o tmpdir/cross2.o" exec_output
20 set exec_output [prune_system_crud $host_triplet $exec_output]
21
22 regsub -all "(^|\n)($ld: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output
23
24 if [string match "" $exec_output] then {
25 fail $testname
26 } else {
27 verbose -log "$exec_output"
28 if [regexp "prohibited cross reference from .* to `foo' in" $exec_output] {
29 pass $testname
30 } else {
31 fail $testname
32 }
33 }
This page took 0.033829 seconds and 5 git commands to generate.