diff mbox

arch/x86: remove support for i386

Message ID 1459453188-23705-1-git-send-email-thomas.petazzoni@free-electrons.com
State Superseded
Headers show

Commit Message

Thomas Petazzoni March 31, 2016, 7:39 p.m. UTC
The Linux kernel doesn't even support i386 anymore, there is no NPTL
support for i386 and uClibc-ng only supports NPTL on x86, so there is
essentially no usable thread implementation. Most likely glibc and
musl also don't support i386 either. So it's time to remove the
support for this architecture variant.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .defconfig                             | 1 -
 arch/Config.in.x86                     | 5 -----
 package/openssl/openssl.mk             | 5 -----
 package/uclibc/Config.in               | 3 +--
 toolchain/toolchain-common.in          | 3 ---
 toolchain/toolchain-external/Config.in | 3 +--
 6 files changed, 2 insertions(+), 18 deletions(-)

Comments

Arnout Vandecappelle April 2, 2016, 9:22 p.m. UTC | #1
On 03/31/16 21:39, Thomas Petazzoni wrote:
> The Linux kernel doesn't even support i386 anymore, there is no NPTL
> support for i386 and uClibc-ng only supports NPTL on x86, so there is
> essentially no usable thread implementation. Most likely glibc and
> musl also don't support i386 either. So it's time to remove the
> support for this architecture variant.
>
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  However, I think there is also a line in qemu.mk that should be removed 
(describing the mapping from BR arches to qemu arches).


  Also, perhaps add a legacy entry? Even though BR2_x86_i386 is a member of a 
choice, that fact is not visible in the .config so it can be added as a normal 
bool option to the Config.in.legacy.

  Regards,
  Arnout

> ---
>   .defconfig                             | 1 -
>   arch/Config.in.x86                     | 5 -----
>   package/openssl/openssl.mk             | 5 -----
>   package/uclibc/Config.in               | 3 +--
>   toolchain/toolchain-common.in          | 3 ---
>   toolchain/toolchain-external/Config.in | 3 +--
>   6 files changed, 2 insertions(+), 18 deletions(-)
[snip]
Waldemar Brodkorb April 14, 2016, 2:50 a.m. UTC | #2
Hi,
Thomas Petazzoni wrote,

> The Linux kernel doesn't even support i386 anymore, there is no NPTL
> support for i386 and uClibc-ng only supports NPTL on x86, so there is
> essentially no usable thread implementation. Most likely glibc and
> musl also don't support i386 either. So it's time to remove the
> support for this architecture variant.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Looks good to me,
Reviewed-by: Waldemar Brodkorb <wbx@openadk.org>

best regards
 Waldemar
diff mbox

Patch

diff --git a/.defconfig b/.defconfig
index 585be55..037647e 100644
--- a/.defconfig
+++ b/.defconfig
@@ -19,7 +19,6 @@  BR2_i386=y
 # BR2_sparc is not set
 # BR2_sparc64 is not set
 # BR2_x86_64 is not set
-# BR2_x86_i386 is not set
 # BR2_x86_i486 is not set
 # BR2_x86_i586 is not set
 BR2_x86_i686=y
diff --git a/arch/Config.in.x86 b/arch/Config.in.x86
index 7be814b..4039db8 100644
--- a/arch/Config.in.x86
+++ b/arch/Config.in.x86
@@ -25,9 +25,6 @@  choice
 	help
 	  Specific CPU variant to use
 
-config BR2_x86_i386
-	bool "i386"
-	depends on !BR2_x86_64
 config BR2_x86_i486
 	bool "i486"
 	depends on !BR2_x86_64
@@ -210,7 +207,6 @@  config BR2_x86_winchip2
 endchoice
 
 config BR2_ARCH
-	default "i386"		if BR2_x86_i386
 	default "i486"		if BR2_x86_i486
 	default "i586"		if BR2_x86_i586
 	default "i586"		if BR2_x86_x1000
@@ -246,7 +242,6 @@  config BR2_ENDIAN
 	default "LITTLE"
 
 config BR2_GCC_TARGET_ARCH
-	default "i386"		if BR2_x86_i386
 	default "i486"		if BR2_x86_i486
 	default "i586"		if BR2_x86_i586
 	default "i586"		if BR2_x86_x1000
diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
index 30dfe31..3b8e525 100644
--- a/package/openssl/openssl.mk
+++ b/package/openssl/openssl.mk
@@ -53,11 +53,6 @@  ifeq ($(ARCH),x86_64)
 OPENSSL_TARGET_ARCH = x86_64
 endif
 
-# Workaround for bug #3445
-ifeq ($(BR2_x86_i386),y)
-OPENSSL_TARGET_ARCH = generic32 386
-endif
-
 define HOST_OPENSSL_CONFIGURE_CMDS
 	(cd $(@D); \
 		$(HOST_CONFIGURE_OPTS) \
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index eac5d05..efa84e9 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -71,7 +71,7 @@  choice
 		select BR2_TOOLCHAIN_HAS_THREADS
 		select BR2_TOOLCHAIN_HAS_THREADS_NPTL
 		depends on BR2_USE_MMU
-		depends on !BR2_m68k && !BR2_x86_i386
+		depends on !BR2_m68k
 endchoice
 
 config BR2_PTHREAD_DEBUG
@@ -176,7 +176,6 @@  config BR2_UCLIBC_POWERPC_TYPE
 config BR2_UCLIBC_X86_TYPE
 	string
 	depends on BR2_UCLIBC_TARGET_ARCH = "i386"
-	default "386"        if BR2_x86_i386
 	default "486"        if BR2_x86_i486
 	default "586"        if BR2_x86_i586
 	default "586MMX"     if BR2_x86_pentium_mmx
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 0907c5e..7ad1c05 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -316,7 +316,6 @@  config BR2_TOOLCHAIN_GCC_AT_LEAST
 config BR2_TOOLCHAIN_HAS_SYNC_1
 	bool
 	default y
-	depends on !BR2_x86_i386
 	depends on !BR2_bfin
 	depends on !BR2_microblaze
 	depends on !BR2_sparc
@@ -330,7 +329,6 @@  config BR2_TOOLCHAIN_HAS_SYNC_4
 	bool
 	default y
 	depends on !BR2_sparc
-	depends on !BR2_x86_i386
 	depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
 
 # The availability of __sync for 8-byte types on ARM is somewhat
@@ -362,7 +360,6 @@  config BR2_TOOLCHAIN_X86_HAS_SYNC_8
 	bool
 	default y
 	depends on BR2_i386
-	depends on !BR2_x86_i386
 	depends on !BR2_x86_i486
 	depends on !BR2_x86_c3
 	depends on !BR2_x86_winchip_c6
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index ff759a0..d6f57a1 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -615,8 +615,7 @@  config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
 	bool "Musl 1.1.12 toolchain (experimental)"
 	depends on (BR2_arm && BR2_ARM_EABI) || \
 		(BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4) || \
-		(BR2_armeb && BR2_ARM_EABI) || \
-		(BR2_i386 && !BR2_x86_i386) || \
+		(BR2_armeb && BR2_ARM_EABI) || BR2_i386 || \
 		(BR2_mips && !BR2_SOFT_FLOAT) || \
 		BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
 		BR2_sh4 || BR2_sh4eb || \