diff options
Diffstat (limited to 'ld/testsuite/ld-selective/selective.exp')
-rw-r--r-- | ld/testsuite/ld-selective/selective.exp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ld/testsuite/ld-selective/selective.exp b/ld/testsuite/ld-selective/selective.exp index bdea212c8b..e9cf48f053 100644 --- a/ld/testsuite/ld-selective/selective.exp +++ b/ld/testsuite/ld-selective/selective.exp @@ -5,12 +5,12 @@ # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -107,12 +107,18 @@ foreach testitem $seltests { if [istarget v850*-*-elf] { set objfile "$objfile -L ../gcc -lgcc" } - + # ARM targets need libgcc.a in THUMB mode so that __call_via_r3 is provided if {[istarget arm-*-*] || [istarget xscale-*-*]} { set objfile "$objfile -L ../gcc -lgcc" } - + + # HPPA linux targets need libgcc.a for millicode routines ($$dyncall). + if [istarget hppa*-*-linux*] { + catch "exec $CC -print-libgcc-file-name" libgcc + set objfile "$objfile $libgcc" + } + # m6811/m6812 code has references to soft registers. if {[istarget m6811-*-*] || [istarget m6812-*-*]} { set objfile "$objfile --defsym _.frame=0 --defsym _.d1=0" @@ -136,7 +142,7 @@ foreach testitem $seltests { } } - # Check each mandated symbol and optionally mandated values. + # Check each mandated symbol and optionally mandated values. foreach mustsym $mustsyms { if { [llength [concat $mustsym]] == 1 } { if { ![info exists nm_output($mustsym)] } { |