diff options
-rw-r--r-- | Rules.mak | 32 | ||||
-rw-r--r-- | extra/Configs/Config.i386 | 77 | ||||
-rw-r--r-- | extra/Configs/Config.in | 6 |
3 files changed, 12 insertions, 103 deletions
@@ -331,7 +331,9 @@ ifeq ($(TARGET_ARCH),i386) $(eval $(call check-gcc-var,-fomit-frame-pointer)) OPTIMIZATION += $(CFLAG_-fomit-frame-pointer) -ifeq ($(CONFIG_386)$(CONFIG_486)$(CONFIG_586)$(CONFIG_586MMX),y) +ifeq ($(CONFIG_386)$(CONFIG_486)$(CONFIG_586),y) + # TODO: Change this to a gcc version check. This bug + # should be fixed with at least gcc-4.3. # Non-SSE capable processor. # NB: this may make SSE insns segfault! # -O1 -march=pentium3, -Os -msse etc are known to be affected. @@ -350,18 +352,6 @@ endif # -falign-jumps: reachable only by a jump # Generic: no alignment at all (smallest code) GCC_FALIGN=$(call check_gcc,-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1,-malign-jumps=1 -malign-loops=1) -ifeq ($(CONFIG_K7),y) - # Align functions to four bytes, use default for jumps and loops (why?) - GCC_FALIGN=$(call check_gcc,-falign-functions=4 -falign-labels=1,-malign-functions=4) -endif -ifeq ($(CONFIG_CRUSOE),y) - # Use compiler's default for functions, jumps and loops (why?) - GCC_FALIGN=$(call check_gcc,-falign-functions=0 -falign-labels=1,-malign-functions=0) -endif -ifeq ($(CONFIG_CYRIXIII),y) - # Use compiler's default for functions, jumps and loops (why?) - GCC_FALIGN=$(call check_gcc,-falign-functions=0 -falign-labels=1,-malign-functions=0) -endif OPTIMIZATION+=$(GCC_FALIGN) # Putting each function and data object into its own section @@ -386,22 +376,6 @@ $(eval $(call check-ld-var,--sort-section=alignment)) CPU_LDFLAGS-y+=-m32 CPU_CFLAGS-y+=-m32 - CPU_CFLAGS-$(CONFIG_386)+=-march=i386 - CPU_CFLAGS-$(CONFIG_486)+=-march=i486 - CPU_CFLAGS-$(CONFIG_ELAN)+=-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_PENTIUMII)+=$(call check_gcc,-march=pentium2,-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,-march=i686) - CPU_CFLAGS-$(CONFIG_CRUSOE)+=-march=i686 - 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=i486) - CPU_CFLAGS-$(CONFIG_NEHEMIAH)+=$(call check_gcc,-march=c3-2,-march=i686) endif ifeq ($(TARGET_ARCH),sparc) diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386 index 63383ced2..c928ac1a2 100644 --- a/extra/Configs/Config.i386 +++ b/extra/Configs/Config.i386 @@ -17,41 +17,12 @@ config FORCE_OPTIONS_FOR_ARCH choice prompt "Target x86 Processor Family" - default CONFIG_486 + default CONFIG_686 help This is the processor type of your CPU. This information is used for - optimizing purposes. To build a library that will run on all x86 CPU - types (albeit not optimally fast), you can specify "386" here. If - you pick anything other than "386", there is no guarantee that uClibc - will even run on anything other than the selected processor type. - - Here are the settings recommended for greatest speed: - - "Generic 386" select this if your compiler is already setup to - optimize things properly. - - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI - 486DLC/DLC2, UMC 486SX-S and NexGen Nx586. Only "386" kernels - will run on a 386 class machine. - - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or - SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S. - - "586" for Intel Pentium and other generic Pentium CPUs - - "Pentium-MMX" for the Intel Pentium MMX. - - "Pentium-Pro" for the Intel Pentium Pro/Celeron/Pentium II. - - "Pentium-III" for the Intel Pentium III - and Celerons based on the Coppermine core. - - "Pentium-4" for the Intel Pentium 4. - - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D). - - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird). - - "Elan" for the AMD Elan. - - "Crusoe" for the Transmeta Crusoe series. - - "Winchip-C6" for original IDT Winchip. - - "Winchip-2/Winchip-2A/Winchip-3" for IDT Winchip CPUs - - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. - - "VIA C3-2 Nehemiah" model 9 and above. - - If you don't know what to do, choose "386". - -config CONFIG_GENERIC_386 - bool "Generic 386" + selecting different handcoded optimization functions. Nowadays, most + people have an i686 CPU. If you don't, you most likely know what this + means and can pick the right one for your processor. config CONFIG_386 bool "386" @@ -60,45 +31,9 @@ config CONFIG_486 bool "486" config CONFIG_586 - bool "Pentium/586/K5/5x86/6x86/6x86MX" - -config CONFIG_586MMX - bool "Pentium-MMX" + bool "586" config CONFIG_686 - bool "Pentium-Pro" - -config CONFIG_PENTIUMII - bool "Celeron/Pentium-II" - -config CONFIG_PENTIUMIII - bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon" - -config CONFIG_PENTIUM4 - bool "Pentium-4/Celeron(P4-based)/Xeon" - -config CONFIG_K6 - bool "K6/K6-II/K6-III" - -config CONFIG_K7 - bool "Athlon/Duron/K7" - -config CONFIG_ELAN - bool "Elan" - -config CONFIG_CRUSOE - bool "Crusoe" - -config CONFIG_WINCHIPC6 - bool "Winchip-C6" - -config CONFIG_WINCHIP2 - bool "Winchip-2/Winchip-2A/Winchip-3" - -config CONFIG_CYRIXIII - bool "CyrixIII/VIA-C3" - -config CONFIG_NEHEMIAH - bool "VIA C3-2 (Nehemiah)" + bool "686" endchoice diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 3737d854c..e1120ac28 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -239,10 +239,10 @@ config TARGET_SUBARCH default "e500" if CONFIG_E500 default "classic" if CONFIG_CLASSIC default "sh4" if CONFIG_SH4 - default "" if CONFIG_GENERIC_386 || CONFIG_386 + default "" if CONFIG_386 default "i486" if CONFIG_486 - default "i586" if CONFIG_586 || CONFIG_586MMX - default "i686" if TARGET_ARCH = "i386" + default "i586" if CONFIG_586 + default "i686" if CONFIG_686 default "" source "extra/Configs/Config.in.arch" |