diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1ff0eb307c02ed964fb4257d47169d395eeb2755..d9772d200c920cf1e615a800bb944fdc85747e7d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-04  Richard Henderson  <rth@redhat.com>
+
+	* lib/target-supports.exp (check_gc_sections_available): Disable
+	for alpha and ia64.
+
 2004-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
 
 	PR middle-end/17909
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 2e1bde6474880b2ffc32f82233cb18422b253a41..d1d94f0f2c9ecb419538c57b0a6f6bf3f300716d 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -193,6 +193,14 @@ proc check_gc_sections_available { } {
     global tool
 
     if {![info exists gc_sections_available_saved]} {
+	# Some targets don't support gc-sections despite whatever's
+	# advertised by ld's options.
+	if { [istarget alpha*-*-*]
+	     || [istarget ia64-*-*] } {
+	    set gc_sections_available_saved 0
+	    return 0
+	}
+
 	# Check if the ld used by gcc supports --gc-sections.
 	set gcc_spec [${tool}_target_compile "-dumpspecs" "" "none" ""]
 	regsub ".*\n\*linker:\[ \t\]*\n(\[^ \t\n\]*).*" "$gcc_spec" {\1} linker