This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PR target/39634 powerpc64-linux libgcc


This fixes PR39634 by including t-softfp later so that the
softfp_wrap_{start,end} defines in t-linux64 can affect t-softfp.
I've also merged the powerpc- and powerpc64-linux entries.

Bootstrapped and regression tested powerpc-linux and powerpc64-linux.
OK for mainline, and just the tmake_file changes for branches?

gcc/
	PR target/39634
	* config.gcc: Merge powerpc-*-linux* and powerpc64-*-linux*.
	Include soft-fp/t-softfp after rs6000/t-linux64.
libgcc/
	* config.host: Reorder and merge to match config.gcc change.

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 145489)
+++ gcc/config.gcc	(working copy)
@@ -1711,22 +1711,6 @@ picochip-*)
 #	tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit "
 #	extra_headers=
 #	;;
-powerpc64-*-linux*)
-	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
-	test x$with_cpu != x || cpu_is_64bit=yes
-	test x$cpu_is_64bit != xyes || tm_file="${tm_file} rs6000/default64.h"
-	tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
-	if test x${enable_secureplt} = xyes; then
-		tm_file="rs6000/secureplt.h ${tm_file}"
-	fi
-	extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
-	tmake_file="t-dfprules rs6000/t-fprules ${tmake_file} rs6000/t-ppccomm rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
-	;;
-powerpc64-*-gnu*)
-	tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/default64.h rs6000/linux64.h rs6000/gnu.h glibc-stdint.h"
-	extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
-	tmake_file="t-slibgcc-elf-ver t-gnu"
-	;;
 powerpc-*-darwin*)
 	extra_options="${extra_options} rs6000/darwin.opt"
 	extra_parts="crt2.o"
@@ -1805,14 +1789,22 @@ powerpc-*-rtems*)
 	extra_options="${extra_options} rs6000/sysv4.opt"
 	tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
 	;;
-powerpc-*-linux*)
+powerpc-*-linux* | powerpc64-*-linux*)
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
 	extra_options="${extra_options} rs6000/sysv4.opt"
-	tmake_file="t-dfprules rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
+	tmake_file="t-dfprules rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
 	maybe_biarch=yes
 	case ${target} in
+	    powerpc64-*-linux*spe* | powerpc64-*-linux*paired*)
+	    	echo "*** Configuration ${target} not supported" 1>&2
+		exit 1
+		;;
 	    powerpc-*-linux*spe* | powerpc-*-linux*paired*)
-		maybe_biarch= ;;
+		maybe_biarch=
+		;;
+	    powerpc64-*-linux*)
+	    	test x$with_cpu != x || cpu_is_64bit=yes
+		;;
 	esac
 	case ${maybe_biarch}:${enable_targets}:${cpu_is_64bit} in
 	    yes:*powerpc64* | yes:all:* | yes:*:yes)
@@ -1827,6 +1819,7 @@ powerpc-*-linux*)
 		tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
 		;;
 	esac
+	tmake_file="${tmake_file} rs6000/t-fprules-softfp soft-fp/t-softfp"
 	case ${target} in
 	    powerpc*-*-linux*altivec*)
 		tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
@@ -1839,6 +1832,11 @@ powerpc-*-linux*)
 		tm_file="rs6000/secureplt.h ${tm_file}"
 	fi
 	;;
+powerpc64-*-gnu*)
+	tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/default64.h rs6000/linux64.h rs6000/gnu.h glibc-stdint.h"
+	extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
+	tmake_file="t-slibgcc-elf-ver t-gnu"
+	;;
 powerpc-*-gnu-gnualtivec*)
 	tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h glibc-stdint.h"
 	extra_options="${extra_options} rs6000/sysv4.opt"
Index: libgcc/config.host
===================================================================
--- libgcc/config.host	(revision 145489)
+++ libgcc/config.host	(working copy)
@@ -420,12 +420,6 @@ pdp11-*-*)
 	;;
 picochip-*-*)
         ;;
-powerpc64-*-linux*)
-	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp"
-	;;
-powerpc64-*-gnu*)
-	tmake_file="${tmake_file} rs6000/t-ldbl128 t-softfp"
-	;;
 powerpc-*-darwin*)
 	;;
 powerpc64-*-darwin*)
@@ -448,9 +442,12 @@ powerpc-*-eabi*)
 	;;
 powerpc-*-rtems*)
 	;;
-powerpc-*-linux*)
+powerpc-*-linux* | powerpc64-*-linux*)
 	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp"
 	;;
+powerpc64-*-gnu*)
+	tmake_file="${tmake_file} rs6000/t-ldbl128 t-softfp"
+	;;
 powerpc-*-gnu-gnualtivec*)
 	tmake_file="${tmake_file} rs6000/t-ldbl128"
 	;;

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]