X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..c910b4d9d2451126ae3917b931cd4390c11e1d52:/makedefs/MakeInc.def

diff --git a/makedefs/MakeInc.def b/makedefs/MakeInc.def
index b08213bc0..c4b6c21dc 100644
--- a/makedefs/MakeInc.def
+++ b/makedefs/MakeInc.def
@@ -84,47 +84,10 @@ $(error There were $(words $(KERNEL_CONFIG)) parameters passed to KERNEL_CONFIG
 		Are you sure? To specify multiple configurations please use KERNEL_CONFIGS)
 endif
 
-#
-# Machine Configuration options  
-#
-# ppc supported configurations : none
-# i386 supported configurations : none
-# arm supported configurations : LN2410SBC MX31ADS INTEGRATORCP S5I3000SMDK S5L8900XFPGA S5L8900XRB OLOCREEK
-#
-ifndef SUPPORTED_MACHINE_CONFIGS
-export SUPPORTED_MACHINE_CONFIGS = LN2410SBC MX31ADS INTEGRATORCP S5I3000SMDK S5L8900XFPGA S5L8900XRB OLOCREEK DEFAULT
-endif
-
-export DEFAULT_ARM_MACHINE_CONFIG 	= S5L8900XRB
-
 ifndef MACHINE_CONFIG
 export MACHINE_CONFIG 	= DEFAULT
 endif
 
-ifndef MACHINE_FLAGS_LN2410SBC
-export MACHINE_FLAGS_LN2410SBC = -DARM_BOARD_CONFIG_LN2410_920T
-endif
-ifndef MACHINE_FLAGS_MX31ADS
-export MACHINE_FLAGS_MX31ADS = -DARM_BOARD_CONFIG_MX31ADS_1136JFS
-endif
-ifndef MACHINE_FLAGS_INTEGRATORCP
-export MACHINE_FLAGS_INTEGRATORCP = -DARM_BOARD_CONFIG_INTEGRATORCP_1136JFS
-endif
-ifndef MACHINE_FLAGS_S5I3000SMDK
-export MACHINE_FLAGS_S5I3000SMDK = -DARM_BOARD_CONFIG_S5I3000SMDK_1176JZFS
-endif
-ifndef MACHINE_FLAGS_S5L8900XFPGA
-export MACHINE_FLAGS_S5L8900XFPGA = -DARM_BOARD_CONFIG_S5L8900XFPGA_1136JFS
-endif
-ifndef MACHINE_FLAGS_S5L8900XRB
-export MACHINE_FLAGS_S5L8900XRB = -DARM_BOARD_CONFIG_S5L8900XRB
-endif
-ifndef MACHINE_FLAGS_OLOCREEK
-export MACHINE_FLAGS_OLOCREEK = -DARM_BOARD_CONFIG_OLOCREEK
-endif
-ifndef MACHINE_FLAGS_DEFAULT
-export MACHINE_FLAGS_DEFAULT =
-endif
 
 #
 # Target configuration options.  NOTE - target configurations will 
@@ -147,7 +110,7 @@ endif
 # default architecture configuration = system architecture where you are running make.
 # default machine configuration for ppc = none at this time.
 # default machine configuration for i386 = none at this time.
-# default machine configuration for arm = "S5L8900XRB".
+# default machine configuration for arm = "S5L8900X".
 #
 ifndef TARGET_CONFIGS_UC
 ifdef TARGET_CONFIGS
@@ -234,13 +197,10 @@ ARCH_FLAGS_PPC		  = -arch ppc
 ARCH_FLAGS_I386		  = -arch i386
 ARCH_FLAGS_ARM		  = $($(addsuffix $(MACHINE_CONFIG),ARCH_FLAGS_ARM_))
 
-ARCH_FLAGS_ARM_LN2410SBC	  = -arch arm
-ARCH_FLAGS_ARM_MX31ADS		  = -arch armv6
-ARCH_FLAGS_ARM_INTEGRATORCP	  = -arch armv6
-ARCH_FLAGS_ARM_S5I3000SMDK	  = -arch armv6
-ARCH_FLAGS_ARM_S5L8900XFPGA	  = -arch armv6
-ARCH_FLAGS_ARM_S5L8900XRB	  = -arch armv6
-ARCH_FLAGS_ARM_OLOCREEK	 	  = -arch arm
+ARCH_FLAGS_ALL_PPC		= $(ARCH_FLAGS_PPC)
+ARCH_FLAGS_ALL_I386		= $(ARCH_FLAGS_I386)
+ARCH_FLAGS_ALL_ARM		= -arch arm
+
 
 #
 # Default CFLAGS
@@ -255,41 +215,44 @@ export DSYMBUILDDIR = ./Contents/Resources/DWARF/
 # We must not use -fno-keep-inline-functions, or it will remove the dtrace
 # probes from the kernel.
 #
-export CFLAGS_GEN = -static $(DEBUG_CFLAGS) -nostdinc -nostdlib -no-cpp-precomp \
+export CFLAGS_GEN = -static $(DEBUG_CFLAGS) -nostdinc -nostdlib \
 	-fno-builtin -finline -msoft-float \
 	-fsigned-bitfields $(OTHER_CFLAGS)
 
+ifeq ($(BUILD_STABS),1)
+export CFLAGS_GEN += -gstabs+
+export BUILD_DWARF = 0
+export BUILD_STABS = 1
+else
+export CFLAGS_GEN += -gdwarf-2
+export BUILD_DWARF = 1
+export BUILD_STABS = 0
+endif
+
 export CFLAGS_RELEASE 	= 
 export CFLAGS_DEVELOPMENT 	=
 export CFLAGS_DEBUG 	= 
 export CFLAGS_PROFILE 	=  -pg
 
-ifeq ($(ARCH_CONFIG),ARM)
-BUILD_STABS = 1
-endif
-
-ifeq ($(BUILD_STABS),1)
-export CFLAGS_PPC 	= -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED \
-				-mno-altivec -gstabs+ -force_cpusubtype_ALL
-export CFLAGS_I386 	= -Di386 -DI386 -D__I386__ \
-				-DPAGE_SIZE_FIXED -gstabs+ -force_cpusubtype_ALL
-export CFLAGS_ARM 	= -Darm -DARM -D__ARM__ -DPAGE_SIZE_FIXED \
-	-fno-strict-aliasing -gstabs+ -fno-keep-inline-functions
-export BUILD_DWARF = 0
-export BUILD_STABS = 1
-else
 export CFLAGS_PPC 	= -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED \
-				-mno-altivec -gdwarf-2 -force_cpusubtype_ALL
+				-mno-altivec -force_cpusubtype_ALL
 export CFLAGS_I386 	= -Di386 -DI386 -D__I386__ \
-				-DPAGE_SIZE_FIXED -gdwarf-2 -force_cpusubtype_ALL
+				-DPAGE_SIZE_FIXED -force_cpusubtype_ALL
 export CFLAGS_ARM 	= -Darm -DARM -D__ARM__ -DPAGE_SIZE_FIXED \
-	-fno-strict-aliasing -gdwarf-2 -fno-keep-inline-functions
-export BUILD_DWARF = 1
-export BUILD_STABS = 0
+				-fno-strict-aliasing -fno-keep-inline-functions
+
+ifeq (-arch armv7,$(ARCH_FLAGS_ARM))
+CFLAGS_ARM		+= -mthumb
 endif
 ifeq (-arch armv6,$(ARCH_FLAGS_ARM))
 CFLAGS_ARM		+= -mthumb
 endif
+ifeq (-arch armv5,$(ARCH_FLAGS_ARM))
+#CFLAGS_ARM		+= -mthumb # <rdar://problem/6174175>
+endif
+ifeq (-arch xscale,$(ARCH_FLAGS_ARM))
+CFLAGS_ARM		+= -mthumb
+endif
 
 export CFLAGS_RELEASEPPC = -O2 -mcpu=750 -mmultiple
 export CFLAGS_RELEASE_TRACEPPC = -O2 -mcpu=750 -mmultiple
@@ -369,7 +332,7 @@ export LDFLAGS_COMPONENT_PROFILE =  $(COMP_LDFLAGS_COMPONENT_PROFILE)
 
 export LDFLAGS_COMPONENT_PPC 	= $(COMP_LDFLAGS_COMPONENT_PPC) -force_cpusubtype_ALL
 export LDFLAGS_COMPONENT_I386 	= $(COMP_LDFLAGS_COMPONENT_i386)
-export LDFLAGS_COMPONENT_ARM 	= $(COMP_LDFLAGS_COMPONENT_ARM)
+export LDFLAGS_COMPONENT_ARM 	= $(COMP_LDFLAGS_COMPONENT_ARM) -Wl,-new_linker
 
 export LDFLAGS_COMPONENT	= $(LDFLAGS_COMPONENT_GEN) \
 		  $($(addsuffix $(ARCH_CONFIG),ARCH_FLAGS_)) \
@@ -406,6 +369,7 @@ export LDFLAGS_KERNEL_I386     = \
 	-Wl,-segaddr,__TEXT,0x111000 
 
 export LDFLAGS_KERNEL_ARM     = \
+	-Wl,-new_linker \
 	-Wl,-segaddr,__HIB,0xC0000000 \
 	-Wl,-segaddr,__TEXT,0xC0008000
 
