Browse Source

Yet more config system updating.

Eric Andersen 21 years ago
parent
commit
0c6405c1d6

+ 34 - 9
Rules.mak

@@ -94,20 +94,45 @@ export LC_COLLATE
 
 ARFLAGS:=r
 
-# Some nice architecture specific optimizations
-ifndef OPTIMIZATION
-
 # use '-Os' optimization if available, else use -O2, allow Config to override
 OPTIMIZATION:=
 OPTIMIZATION+=$(call check_gcc,-Os,-O2)
-ifeq ($(strip $(TARGET_ARCH)),arm)
-	OPTIMIZATION+=-fstrict-aliasing
-endif
+
+# Some nice CPU specific optimizations
 ifeq ($(strip $(TARGET_ARCH)),i386)
 	OPTIMIZATION+=$(call check_gcc,-mpreferred-stack-boundary=2,)
-	OPTIMIZATION+=$(call check_gcc,-falign-functions=0 -falign-jumps=0 -falign-loops=0,\
-		-malign-functions=0 -malign-jumps=0 -malign-loops=0)
+	OPTIMIZATION+=$(call check_gcc,-falign-jumps=0 -falign-loops=0,-malign-jumps=0 -malign-loops=0)
+	CPU_CFLAGS-$(CONFIG_386):="-march=i386"
+	CPU_CFLAGS-$(CONFIG_486):="-march=i486"
+	CPU_CFLAGS-$(CONFIG_586):="-march=i586"
+	CPU_CFLAGS-$(CONFIG_586MMX):="$(call check_gcc,-march=pentium-mmx,-march=i586)"
+	CPU_CFLAGS-$(CONFIG_686):="-march=i686"
+	CPU_CFLAGS-$(CONFIG_PENTIUMIII):="$(call check_gcc,-march=pentium3,-march=i686)"
+	CPU_CFLAGS-$(CONFIG_PENTIUM4):="$(call check_gcc,-march=pentium4,-march=i686)"
+	CPU_CFLAGS-$(CONFIG_K6):="$(call check_gcc,-march=k6,-march=i586)"
+	CPU_CFLAGS-$(CONFIG_K7):="$(call check_gcc,-march=athlon,-malign-functions=4 -march=i686)"
+	CPU_CFLAGS-$(CONFIG_CRUSOE):="-march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0"
+	CPU_CFLAGS-$(CONFIG_WINCHIPC6):="$(call check_gcc,-march=winchip-c6,-march=i586)"
+	CPU_CFLAGS-$(CONFIG_WINCHIP2):="$(call check_gcc,-march=winchip2,-march=i586)"
+	CPU_CFLAGS-$(CONFIG_CYRIXIII):="$(call check_gcc,-march=c3,-march=i586)"
 endif
+
+ifeq ($(strip $(TARGET_ARCH)),arm)
+	OPTIMIZATION+=-fstrict-aliasing
+	CPU_CFLAGS-$(CONFIG_GENERIC_ARM):=
+	CPU_CFLAGS-$(CONFIG_ARM7TDMI):="-march=arm7tdmi"
+	CPU_CFLAGS-$(CONFIG_STRONGARM):="-march=strongarm"
+	CPU_CFLAGS-$(CONFIG_XSCALE):="$(call check_gcc,-march=xscale,-march=strongarm)"
+endif
+
+ifeq ($(strip $(TARGET_ARCH)),sh)
+	OPTIMIZATION+=-fstrict-aliasing
+	CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN):="-ml"
+	CPU_CFLAGS-$(ARCH_BIG_ENDIAN):="-mb"
+	CPU_CFLAGS-$(CONFIG_SH2)+="-m2"
+	CPU_CFLAGS-$(CONFIG_SH3)+="-m3"
+	CPU_CFLAGS-$(CONFIG_SH4)+="-m4"
+	CPU_CFLAGS-$(CONFIG_SH5)+="-m5"
 endif
 
 # Add a bunch of extra pedantic annoyingly strict checks
@@ -115,7 +140,7 @@ WARNINGS+=-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
 
 
 CFLAGS:=$(WARNINGS) $(OPTIMIZATION) -fno-builtin -nostdinc $(CPUFLAGS) \
-	-I$(TOPDIR)include -iwithprefix include -I. -D_LIBC $(CPU_CFLAGS) $(ARCH_CFLAGS)
+	-I$(TOPDIR)include -iwithprefix include -I. -D_LIBC $(CPU_CFLAGS-y) $(ARCH_CFLAGS)
 NATIVE_CFLAGS:=-O2 -Wall
 
 ifeq ($(strip $(DODEBUG)),y)

+ 0 - 7
extra/Configs/Config.alpha

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 source "extra/Configs/Config.in.arch"
 

+ 0 - 14
extra/Configs/Config.arm

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 choice
 	prompt "Target Processor Type"
@@ -66,13 +59,6 @@ config ARCH_HAS_NO_MMU
 	bool
 	default y if CONFIG_ARM7TDMI
 
-config CPU_CFLAGS
-	string
-	default "" if CONFIG_GENERIC_ARM
-	default "-march=arm7tdmi" if CONFIG_ARM7TDMI
-	default "-march=strongarm" if CONFIG_STRONGARM
-	default "$(call check_gcc,-march=xscale,-march=strongarm)" if CONFIG_XSCALE
-
 source "extra/Configs/Config.in.arch"
 
 endmenu

+ 0 - 4
extra/Configs/Config.cris

@@ -11,10 +11,6 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
 	default "-fpic -mlinux -D__USE_WEAK_ALIASES"

+ 4 - 6
extra/Configs/Config.h8300

@@ -11,26 +11,24 @@ config HAVE_ELF
 	bool
 	default n
 
-config C_SYMBOL_PREFIX
-	string
-	default "_"
-
 config ARCH_CFLAGS
 	string
 	default "-mh -mint32 -fsigned-char"
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 config ARCH_HAS_NO_MMU
 	bool
 	default y
 
+config ARCH_HAS_C_SYMBOL_PREFIX
+	bool
+	default y
+
 source "extra/Configs/Config.in.arch"
 
 endmenu

+ 0 - 23
extra/Configs/Config.i386

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 choice
 	prompt "Target Processor Type"
@@ -100,22 +93,6 @@ config CONFIG_CYRIXIII
 
 endchoice
 
-config CPU_CFLAGS
-	string
-	default "-march=i386" if CONFIG_386
-	default "-march=i486" if CONFIG_486
-	default "-march=i586" if CONFIG_586
-	default "$(call check_gcc,-march=pentium-mmx,-march=i586)" if CONFIG_586MMX
-	default "-march=i686" if CONFIG_686
-	default "$(call check_gcc,-march=pentium3,-march=i686)" if CONFIG_PENTIUMIII
-	default "$(call check_gcc,-march=pentium4,-march=i686)" if CONFIG_PENTIUM4
-	default "$(call check_gcc,-march=k6,-march=i586)" if CONFIG_K6
-	default "$(call check_gcc,-march=athlon,-march=i686 -malign-functions=4)" if CONFIG_K7
-	default "-march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0" if CONFIG_CRUSOE
-	default "$(call check_gcc,-march=winchip-c6,-march=i586)" if CONFIG_WINCHIPC6
-	default "$(call check_gcc,-march=winchip2,-march=i586)" if CONFIG_WINCHIP2
-	default "$(call check_gcc,-march=c3,-march=i586)" if CONFIG_CYRIXIII
-
 source "extra/Configs/Config.in.arch"
 
 endmenu

+ 0 - 1
extra/Configs/Config.i386.default

@@ -27,7 +27,6 @@ HAS_FPU=y
 # DO_C99_MATH is not set
 WARNINGS="-Wall"
 KERNEL_SOURCE="/usr/src/linux"
-C_SYMBOL_PREFIX=""
 UCLIBC_UCLINUX_BROKEN_MUNMAP=y
 HAVE_ELF=y
 # HAVE_DOT_HIDDEN is not set

+ 4 - 6
extra/Configs/Config.i960

@@ -11,26 +11,24 @@ config HAVE_ELF
 	bool
 	default n
 
-config C_SYMBOL_PREFIX
-	string
-	default "_"
-
 config ARCH_CFLAGS
 	string
 	default "-mh -mint32 -fsigned-char"
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 	
 config ARCH_HAS_NO_MMU
 	bool
 	default y
 
+config ARCH_HAS_C_SYMBOL_PREFIX
+	bool
+	default y
+
 source "extra/Configs/Config.in.arch"
 
 endmenu

+ 5 - 0
extra/Configs/Config.in.arch

@@ -82,3 +82,8 @@ config EXCLUDE_BRK
 	depends on !UCLIBC_HAS_MMU
 	default y
 
+config C_SYMBOL_PREFIX
+	string
+	default "_" if ARCH_HAS_C_SYMBOL_PREFIX
+	default "" if !ARCH_HAS_C_SYMBOL_PREFIX
+

+ 0 - 6
extra/Configs/Config.m68k

@@ -11,21 +11,15 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
 	default "-Wa,--bitwise-or -I$(KERNEL_SOURCE)/include"
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 config HAVE_ELF
 	bool

+ 0 - 7
extra/Configs/Config.mips

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 choice
 	prompt "Target Processor Endianness"

+ 0 - 7
extra/Configs/Config.mipsel

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 source "extra/Configs/Config.in.arch"
 

+ 0 - 7
extra/Configs/Config.powerpc

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 source "extra/Configs/Config.in.arch"
 

+ 0 - 18
extra/Configs/Config.sh

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 config HAVE_DOT_HIDDEN
         bool
@@ -80,17 +73,6 @@ config ARCH_HAS_NO_MMU
 	bool
 	default y if CONFIG_SH2 || CONFIG_SH3
 
-config CPU_CFLAGS
-	string
-	default "-ml -m2" if CONFIG_SH2 && ARCH_LITTLE_ENDIAN
-	default "-mb -m2" if CONFIG_SH2 && ARCH_BIG_ENDIAN
-	default "-ml -m3" if CONFIG_SH3 && ARCH_LITTLE_ENDIAN
-	default "-mb -m3" if CONFIG_SH3 && ARCH_BIG_ENDIAN
-	default "-ml -m4" if CONFIG_SH4 && ARCH_LITTLE_ENDIAN
-	default "-mb -m4" if CONFIG_SH4 && ARCH_BIG_ENDIAN
-	default "-ml -m5" if CONFIG_SH5 && ARCH_LITTLE_ENDIAN
-	default "-mb -m5" if CONFIG_SH5 && ARCH_BIG_ENDIAN
-
 source "extra/Configs/Config.in.arch"
 
 endmenu

+ 0 - 4
extra/Configs/Config.sparc

@@ -11,10 +11,6 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default ""
-
 config ARCH_CFLAGS
 	string
 	default "-fpic -mlinux -D__USE_WEAK_ALIASES"

+ 4 - 7
extra/Configs/Config.v850e

@@ -11,21 +11,14 @@ config HAVE_ELF
 	bool
 	default y
 
-config C_SYMBOL_PREFIX
-	string
-	default "_"
-
 config ARCH_CFLAGS
 	string
-	default ""
 
 config ARCH_LDFLAGS
 	string
-	default ""
 
 config LIBGCC_CFLAGS
 	string
-	default ""
 
 config HAVE_ELF
 	bool
@@ -35,6 +28,10 @@ config ARCH_HAS_NO_MMU
 	bool
 	default y
 
+config ARCH_HAS_C_SYMBOL_PREFIX
+	bool
+	default y
+
 source "extra/Configs/Config.in.arch"
 
 endmenu