diff options
Diffstat (limited to 'ld/testsuite/ld-elfcomm')
| -rw-r--r-- | ld/testsuite/ld-elfcomm/elfcomm.exp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/ld/testsuite/ld-elfcomm/elfcomm.exp b/ld/testsuite/ld-elfcomm/elfcomm.exp index 5b3db4986b7da..84a68edbae74a 100644 --- a/ld/testsuite/ld-elfcomm/elfcomm.exp +++ b/ld/testsuite/ld-elfcomm/elfcomm.exp @@ -1,5 +1,5 @@ # Expect script for common symbol tests -# Copyright 2003, 2005 Free Software Foundation, Inc. +# Copyright 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -38,6 +38,13 @@ if { [which $CC] == 0 } { untested $test1c2 return } +if { [istarget score-*-*] } { + untested $test1w1 + untested $test1w2 + untested $test1c1 + untested $test1c2 + return +} proc dump_common1 { testname } { global exec_output @@ -45,7 +52,7 @@ proc dump_common1 { testname } { send_log "$READELF -s tmpdir/common1.o | grep foo\n" catch "exec $READELF -s tmpdir/common1.o | grep foo" exec_output - if { ![regexp "(\[ \]*)(\[0-9\]+):(\[ \]*)(\[0\]*)80(\[ \]+)4(\[ \]+)OBJECT(\[ \]+)GLOBAL(\[ \]+)DEFAULT(\[ \]+)(PRC\\\[0xff03\\\]|COM)(\[ \]+)_?foo2" $exec_output] + if { ![regexp "(\[ \]*)(\[0-9\]+):(\[ \]*)(\[0\]*)80(\[ \]+)4(\[ \]+)OBJECT(\[ \]+)GLOBAL(\[ \]+)DEFAULT(\[ \]+)(PRC\\\[0xff03\\\]|COM|SCOM)(\[ \]+)_?foo2" $exec_output] || ![regexp "(\[ \]*)(\[0-9\]+):(\[ \]*)(\[0-9\]+)(\[ \]+)21(\[ \]+)OBJECT(\[ \]+)GLOBAL(\[ \]+)DEFAULT(\[ \]+)(\[0-9\]+)(\[ \]+)_?foo1" $exec_output] } { send_log "$exec_output\n" verbose $exec_output @@ -70,17 +77,22 @@ if { [ld_simple_link $ld tmpdir/common1.o "-r tmpdir/common1a.o tmpdir/common1b. return } -if { ![regexp "Warning: alignment (\[0-9\]+) of symbol \`_?foo1\' in tmpdir/common1b.o is smaller than 64 in tmpdir/common1a.o" $link_output] - || ![regexp "Warning: size of symbol \`_?foo1\' changed from 2 in tmpdir/common1a.o to 21 in tmpdir/common1b.o" $link_output] } { - if { [istarget mips*-*-*] } { - # This test fails on MIPS because the backend sets type_change_ok. The - # size change warning is suppressed. - xfail $test1w1 +# This test fails on MIPS because the backend sets type_change_ok. +# The size change warning is suppressed. +if {[istarget mips*-*-*]} { + if { ![regexp "Warning: alignment (\[0-9\]+) of symbol \`_?foo1\' in tmpdir/common1b.o is smaller than 64 in tmpdir/common1a.o" $link_output] } { + fail $test1w1 } else { - fail $test1w1 + pass $test1w1 } } else { pass $test1w1 + if { ![regexp "Warning: alignment (\[0-9\]+) of symbol \`_?foo1\' in tmpdir/common1b.o is smaller than 64 in tmpdir/common1a.o" $link_output] + || ![regexp "Warning: size of symbol \`_?foo1\' changed from 2 in tmpdir/common1a.o to 21 in tmpdir/common1b.o" $link_output] } { + fail $test1w1 + } else { + pass $test1w1 + } } if { [dump_common1 $test1c1] } { |
