aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2010-03-05 11:39:17 +0000
committerRainer Orth <ro@gcc.gnu.org>2010-03-05 11:39:17 +0000
commit576e4d8266694a87849f4aab60ceaaf576281ea9 (patch)
tree25325b705f4536d871e15927ea47883dbc6a4755 /gcc
parent714902c8d41b98d1254a17cae94d9192ee8c7d82 (diff)
downloadgcc-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/ChangeLog9
-rw-r--r--gcc/testsuite/lib/gnat.exp33
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]
}