Currently if the user does not specify a default CPU or architecture
the compiler provieds no default values in the spec defaults.  We can
try to work from TARGET_CPU_DEFAULT but pulling that into the driver
is a bit crufty and doesn't really work well with the general
spec-processing model.  A better way is to ensure that with_cpu is
always set appropirately during configure.  To avoid problems with the
multilib fragment processing we defer this until after we have
processed any required fragments before selecting the default.

        * config.gcc (arm*-*-*): Ensure both target_cpu_cname and with_cpu
        are set after handling multilib fragments.  Set target_cpu_default2
        from with_cpu.
---
 gcc/config.gcc | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gcc/config.gcc b/gcc/config.gcc
index 4d0f7ec..8524a5f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3859,6 +3859,8 @@ case "${target}" in
 				TM_MULTILIB_CONFIG="$with_multilib_list"
 			fi
 		fi
+		target_cpu_cname=${target_cpu_cname:-arm6}
+		with_cpu=${with_cpu:-$target_cpu_cname}
 		;;
 
 	fr*-*-*linux*)
@@ -4492,11 +4494,12 @@ case ${target} in
 		;;
 
 	arm*-*-*)
-		if test x$target_cpu_cname = x
+		if test x$with_cpu = x
 		then
-			target_cpu_default2="\\\"arm6\\\""
+			echo "Don't know the target cpu" 1>&2
+			exit 1
 		else
-			target_cpu_default2="\\\"$target_cpu_cname\\\""
+			target_cpu_default2="\\\"$with_cpu\\\""
 		fi
 		;;
 

Reply via email to