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
# 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
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
# 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
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_)) \
-Wl,-segaddr,__TEXT,0x111000
export LDFLAGS_KERNEL_ARM = \
+ -Wl,-new_linker \
-Wl,-segaddr,__HIB,0xC0000000 \
-Wl,-segaddr,__TEXT,0xC0008000