Do-last:
+armelf_files="srec.exp"
+if ( echo $* | grep keep\-armelf > /dev/null ) ; then
+ for i in $armelf_files ; do
+ if test ! -d $i && (grep sanitize-armelf $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping armelf stuff in $i
+ fi
+ fi
+ done
+else
+ for i in $armelf_files ; do
+ if test ! -d $i && (grep sanitize-armelf $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"armelf\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-armelf/,/end-\sanitize\-armelf/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+for i in * ; do
+ if test ! -d $i && (grep sanitize $i > /dev/null) ; then
+ echo '***' Some mentions of Sanitize are still left in $i! 1>&2
+ fi
+done
+
#eof
if [istarget arm-*-pe] {
set flags "$flags --defsym ___gccmain=0"
}
-
+ # start-sanitize-armelf
+ if [istarget arm-*-elf] {
+ set flags "$flags --defsym ___gccmain=0"
+ }
+ # end-sanitize-armelf
+
# Thumb targets call __gccmain
if [istarget thumb-*-coff] {
set flags "$flags --defsym ___gccmain=0"
if [istarget thumb-*-pe] {
set flags "$flags --defsym ___gccmain=0"
}
+ # start-sanitize-armelf
+ if [istarget thumb-*-*] {
+ set flags "$flags --defsym ___gccmain=0"
+ }
+ # end-sanitize-armelf
# PowerPC EABI code calls __eabi.
if [istarget powerpc*-*-eabi*] {
set flags "$flags --defsym __truncsipsi2_d0_d2=0"
}
+ # V850 targets need libgcc.a
+ if [istarget v850*-*-elf] {
+ set objs "$objs -L ../gcc -lgcc"
+ }
+
if { ![ld_simple_link $ld tmpdir/sr1 "$flags $objs"] \
|| ![ld_simple_link $ld tmpdir/sr2.sr "$flags -oformat srec $objs"] } {
setup_xfail "hppa*-*-*elf*"
setup_xfail "*-*-aix*" "*-*-xcoff*"
# The S-record linker doesn't build ARM/Thumb stubs.
+setup_xfail "arm-*-coff*"
+setup_xfail "arm-*-pe*"
+# start-sanitize-armelf
+setup_xfail "arm-*elf*"
+# end-sanitize-armelf
setup_xfail "thumb-*-coff*"
+setup_xfail "thumb-*-pe*"
+# start-sanitize-armelf
+setup_xfail "thumb-*-elf*"
+# end-sanitize-armelf
# The S-record linker doesn't build special EABI sections.
setup_xfail "powerpc*-*-eabi*"
+# The S-record linker doesn't include the .got section.
+setup_xfail "powerpc*-*-linux*"
+
+# The S-record linker doesn't include the .{zda} sections.
+setup_xfail "v850*-*-elf"
+
+# The S-record linker doesn't handle Alpha Elf relaxation.
+setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*"
+setup_xfail "alpha*-*-netbsd*"
+
run_srec_test $test1 "tmpdir/sr1.o tmpdir/sr2.o"
# Now try linking a C++ program with global constructors and
setup_xfail "i*86-*-aout*"
setup_xfail "mips*-*-irix5*" "mips*-*-irix6*"
setup_xfail "*-*-aix*" "*-*-xcoff*"
+setup_xfail "arm-*-coff*"
+setup_xfail "arm-*-pe*"
+# start-sanitize-armelf
+setup_xfail "arm-*-elf*"
+# end-sanitize-armelf
setup_xfail "thumb-*-coff*"
+setup_xfail "thumb-*-pe*"
+# start-sanitize-armelf
+setup_xfail "thumb-*-elf*"
+# end-sanitize-armelf
setup_xfail "powerpc*-*-eabi*"
+setup_xfail "powerpc*-*-linux*"
+setup_xfail "v850*-*-elf"
+setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*"
+setup_xfail "alpha*-*-netbsd*"
run_srec_test $test2 "tmpdir/sr3.o"