Patchwork [4.5] backport darwin t-make fragment fixes to 4.5

login
register
mail settings
Submitter IainS
Date June 8, 2010, 7:56 a.m.
Message ID <FADE2E2E-F86F-4E2C-AF88-B74DB145F059@sandoe-acoustics.co.uk>
Download mbox | patch
Permalink /patch/54946/
State New
Headers show

Comments

IainS - June 8, 2010, 7:56 a.m.
x86_64-darwin10 has a fault in config.gcc causing t-make fragments to  
be included twice.
This has been fixed on trunk for a while now and the attached is a  
back-port of that fix to 4.5.
bootstrapped on x86_64-apple-darwin10, powerpc-apple-darwin9, (with http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00463.html 
  applied to ensure no config race condition).

OK for 4.5?
Iain

gcc/ChangeLog:

	 Backport from mainline:
	 2010-05-28 Iain Sandoe <iains@gcc.gnu.org>
	* config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
IainS - June 9, 2010, 2:29 p.m.
On 8 Jun 2010, at 08:56, IainS wrote:
> 	 Backport from mainline:
> 	 2010-05-28 Iain Sandoe <iains@gcc.gnu.org>
> 	* config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
>
> <160410-4-5-tmakefrags-diff.txt>

With Mike's approval, ci to the branch as r160481.

Patch

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 160410)
+++ gcc/config.gcc	(working copy)
@@ -411,6 +411,7 @@  esac
 # Common parts for widely ported systems.
 case ${target} in
 *-*-darwin*)
+  tmake_file="t-darwin ${cpu_type}/t-darwin"
   tm_file="${tm_file} darwin.h"
   case ${target} in
   *-*-darwin9*)
@@ -422,7 +423,6 @@  case ${target} in
   esac
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
-  tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
   target_gtfiles="\$(srcdir)/config/darwin.c"
   extra_options="${extra_options} darwin.opt"
   c_target_objs="${c_target_objs} darwin-c.o"
@@ -1091,11 +1091,11 @@  i[34567]86-*-darwin*)
 	# then this file using that to set --with-cpu=i386 which has no -m64
 	# support.
 	with_cpu=${with_cpu:-generic}
-	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
+ 	tmake_file="${tmake_file} t-slibgcc-darwin i386/t-crtpc i386/t-crtfm"
 	;;
 x86_64-*-darwin*)
 	with_cpu=${with_cpu:-generic}
-	tmake_file="${tmake_file} t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-crtpc i386/t-crtfm"
+ 	tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-crtpc i386/t-crtfm"
 	tm_file="${tm_file} ${cpu_type}/darwin64.h"
 	;;
 i[34567]86-*-elf*)
@@ -1930,12 +1930,14 @@  powerpc-*-darwin*)
 	  *-darwin[0-6]*)
 	    ;;
 	esac
+ 	tmake_file="${tmake_file} t-slibgcc-darwin"
 	extra_headers=altivec.h
 	;;
 powerpc64-*-darwin*)
 	tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
 	extra_options="${extra_options} ${cpu_type}/darwin.opt"
-	# We're omitting t-darwin8 to avoid building any multilibs
+	# We're not including any t-darwin* fragments to build multilibs.
+ 	tmake_file="${tmake_file} t-slibgcc-darwin"
 	extra_headers=altivec.h
 	;;
 powerpc*-*-freebsd*)