# Expect script for LD selective linking tests
-# Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
# Make sure that constructors are handled correctly.
# Only ELF based ports support selective linking
-if ![is_elf_format] {
- return
-}
-
-# These targets do not support selective linking
-if {[istarget "alpha*-*-*"] || [istarget "am33*-*-*"] ||
- [istarget "arc-*-*"] || [istarget "d30v-*-*"] ||
- [istarget "dlx-*-*"] || [istarget "hppa*64*-*-*"] ||
- [istarget "i370-*-*"] || [istarget "i860-*-*"] ||
- [istarget "i960-*-*"] || [istarget "ia64-*-*"] ||
- [istarget "m88*-*-*"] || [istarget "mn10200-*-*"] ||
- [istarget "mep-*-*"] || [istarget "or32-*-*"] ||
- [istarget "pj*-*-*"]} {
+if { ![is_elf_format] || ![check_gc_sections_available] } {
return
}
set ldflags "-e _start -mshelf32 $ldflags"
}
+if [istarget avr-*-*] {
+ # Make .text start at a non-zero address, as some tests expect
+ # valid symbols to have non-zero values.
+ set ldflags "--section-start=.text=0x2 $ldflags"
+}
+
# If we don't have g++ for the target, mark all tests as untested.
if { ![is_remote host] && [which $CXX] == 0 } {
foreach testitem $seltests {
foreach xfail_target $xfails {
setup_xfail $xfail_target
}
- setup_xfail "arc*-*" "d30v*-*" "dlx*-*" "i370*-*" "i860*-*"
- setup_xfail "i960*-*" "mn10200-*" "or32-*" "pj-*"
# It's either C or C++ at the moment.
if { $testtype == "C++" } {
}
# ARM targets need libgcc.a in THUMB mode so that __call_via_r3 is provided
- if {[istarget arm-*-*] || [istarget xscale-*-*]} {
+ if {[istarget arm-*-*]} {
set libgcc [remote_exec host "$compiler -print-libgcc-file-name"]
set libgcc [lindex $libgcc 1]
regsub -all "\[\r\n\]" $libgcc "" libgcc
}
# m6811/m6812 code has references to soft registers.
- if {[istarget m6811-*-*] || [istarget m6812-*-*]} {
+ if {[istarget m6811-*-*] || [istarget m6812-*-*] || [istarget m68hc1*-*-*]} {
set objfile "$objfile --defsym _.frame=0 --defsym _.d1=0"
set objfile "$objfile --defsym _.d2=0"
}