diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 52b54cb4857fdd681deef5abd448041ce4cc75cd..acd4e47aab1eec8b28b9ed76e377368b29b60fc0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2003-06-11  Kelley Cook  <kelleycook@wideopenwest.com>
+
+	* lib/gcc.exp (gcc_target_compile): Put TOOL_OPTIONS at front of
+	options instead of at the end.
+	* lib/objc.exp (objc_target_compile): Likewise.
+
 2003-06-11  Mark Mitchell  <mark@codesourcery.com>
 
 	PR c++/10432
diff --git a/gcc/testsuite/lib/gcc.exp b/gcc/testsuite/lib/gcc.exp
index bec0e2e42587e41ea7070216a4379e1b9662baeb..29c687be2c9b3c20ada35e6ec1507193db14d10b 100644
--- a/gcc/testsuite/lib/gcc.exp
+++ b/gcc/testsuite/lib/gcc.exp
@@ -146,8 +146,10 @@ proc gcc_target_compile { source dest type options } {
     if [target_info exists gcc,no_label_values] {
 	lappend options "additional_flags=-DNO_LABEL_VALUES"
     }
+    # TOOL_OPTIONS must come first, so that it doesn't override testcase
+    # specific options.
     if [info exists TOOL_OPTIONS] {
-	lappend options "additional_flags=$TOOL_OPTIONS"
+	set options [concat "additional_flags=$TOOL_OPTIONS" $options];
     }
     if [target_info exists gcc,timeout] {
 	lappend options "timeout=[target_info gcc,timeout]"
diff --git a/gcc/testsuite/lib/objc.exp b/gcc/testsuite/lib/objc.exp
index 3ec19e336ff89ae10ca62b6e6acfec6e16bc7014..9e7c445d3ced060ef6271e74e30d2e79d622047f 100644
--- a/gcc/testsuite/lib/objc.exp
+++ b/gcc/testsuite/lib/objc.exp
@@ -162,8 +162,10 @@ proc objc_target_compile { source dest type options } {
     if [target_info exists objc,no_label_values] {
 	lappend options "additional_flags=-DNO_LABEL_VALUES"
     }
+    # TOOL_OPTIONS must come first, so that it doesn't override testcase
+    # specific options.
     if [info exists TOOL_OPTIONS] {
-	lappend options "additional_flags=$TOOL_OPTIONS"
+	set options [concat "additional_flags=$TOOL_OPTIONS" $options];
     }
 
     # Point to the ObjC headers in libobjc.