diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2010-03-05 11:39:17 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2010-03-05 11:39:17 +0000 |
commit | 576e4d8266694a87849f4aab60ceaaf576281ea9 (patch) | |
tree | 25325b705f4536d871e15927ea47883dbc6a4755 /gcc | |
parent | 714902c8d41b98d1254a17cae94d9192ee8c7d82 (diff) | |
download | gcc-576e4d8266694a87849f4aab60ceaaf576281ea9.zip gcc-576e4d8266694a87849f4aab60ceaaf576281ea9.tar.gz gcc-576e4d8266694a87849f4aab60ceaaf576281ea9.tar.bz2 |
gnat.exp (gnat_init): Remove GNAT_UNDER_TEST_ORIG.
* lib/gnat.exp (gnat_init): Remove GNAT_UNDER_TEST_ORIG.
(gnat_target_compile): Likewise.
Reinitialize GNAT_UNDER_TEST if target changes.
Set ADA_INCLUDE_PATH, ADA_OBJECTS_PATH in environment.
(local_find_gnatmake): Pass full --GCC to gnatlink.
Remove --LINK.
From-SVN: r157240
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/lib/gnat.exp | 33 |
2 files changed, 32 insertions, 10 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 57e2fa6..989766b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * lib/gnat.exp (gnat_init): Remove GNAT_UNDER_TEST_ORIG. + (gnat_target_compile): Likewise. + Reinitialize GNAT_UNDER_TEST if target changes. + Set ADA_INCLUDE_PATH, ADA_OBJECTS_PATH in environment. + (local_find_gnatmake): Pass full --GCC to gnatlink. + Remove --LINK. + 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com> PR c/43248 diff --git a/gcc/testsuite/lib/gnat.exp b/gcc/testsuite/lib/gnat.exp index 35e18da..90db485 100644 --- a/gcc/testsuite/lib/gnat.exp +++ b/gcc/testsuite/lib/gnat.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -83,7 +83,6 @@ proc gnat_init { args } { global gluefile wrap_flags global gnat_initialized global GNAT_UNDER_TEST - global GNAT_UNDER_TEST_ORIG global TOOL_EXECUTABLE global gnat_libgcc_s_path global gnat_target_current @@ -98,7 +97,6 @@ proc gnat_init { args } { } else { set GNAT_UNDER_TEST "[local_find_gnatmake]" } - set GNAT_UNDER_TEST_ORIG "$GNAT_UNDER_TEST" } if ![info exists tmpdir] then { @@ -129,22 +127,31 @@ proc gnat_target_compile { source dest type options } { global gluefile wrap_flags global srcdir global GNAT_UNDER_TEST - global GNAT_UNDER_TEST_ORIG global TOOL_OPTIONS global ld_library_path global gnat_libgcc_s_path global gnat_target_current - # If we detect a change of target we need to recompute - # the appropriate RTS by calling get_multilibs. + # If we detect a change of target, we need to recompute both + # GNAT_UNDER_TEST and the appropriate RTS. if { $gnat_target_current!="[current_target_name]" } { set gnat_target_current "[current_target_name]" if [info exists TOOL_OPTIONS] { - set gnat_rts_opt "--RTS=[get_multilibs ${TOOL_OPTIONS}]/libada" + set rtsdir "[get_multilibs ${TOOL_OPTIONS}]/libada" } else { - set gnat_rts_opt "--RTS=[get_multilibs]/libada" + set rtsdir "[get_multilibs]/libada" } - set GNAT_UNDER_TEST "$GNAT_UNDER_TEST_ORIG $gnat_rts_opt" + if [info exists TOOL_EXECUTABLE] { + set GNAT_UNDER_TEST "$TOOL_EXECUTABLE" + } else { + set GNAT_UNDER_TEST "[local_find_gnatmake]" + } + set GNAT_UNDER_TEST "$GNAT_UNDER_TEST --RTS=$rtsdir" + + # gnatlink looks for system.ads itself and has no --RTS option, so + # specify via environment + setenv ADA_INCLUDE_PATH "$rtsdir/adainclude" + setenv ADA_OBJECTS_PATH "$rtsdir/adainclude" } set ld_library_path ".:${gnat_libgcc_s_path}" @@ -263,7 +270,13 @@ proc local_find_gnatmake {} { } if { $file != "" } { set root [file dirname $file] - set CC "$file --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs --LINK=$root/xgcc -B$root -margs"; + # Need to pass full --GCC, including multilib flags, to gnatlink, + # otherwise gcc from PATH is invoked. + set dest [target_info name] + set gnatlink_gcc "--GCC=$root/xgcc -B$root [board_info $dest multilib_flags]" + # Escape blanks to get them through DejaGnu's exec machinery. + regsub -all {\s} "$gnatlink_gcc" {\\&} gnatlink_gcc + set CC "$file --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs $gnatlink_gcc -margs"; } else { set CC [transform gnatmake] } |