summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rules.mak32
-rw-r--r--extra/Configs/Config.i38677
-rw-r--r--extra/Configs/Config.in6
3 files changed, 12 insertions, 103 deletions
diff --git a/Rules.mak b/Rules.mak
index 2c8fabcc2..792b794f7 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -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"