arch/x86: remove support for i386
PATCH v2 1/1 arch/x86: remove support for i386
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.
---
Changes since v1:
- Add Config.in.legacy entry, as suggested by Arnout.
- Remove i386 reference in qemu.mk, as noticed by Arnout.
--- .defconfig | 1 - Config.in.legacy | 6 ++++++ arch/Config.in.x86 | 5 ----- package/openssl/openssl.mk | 5 ----- package/qemu/qemu.mk | 1 - package/uclibc/Config.in | 3 +-- toolchain/toolchain-common.in | 3 --- toolchain/toolchain-external/Config.in | 3 +-- 8 files changed, 8 insertions(+), 19 deletions(-)
.defconfig +0 -1
@@ -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
Config.in.legacy +6 -0
@@ -145,6 +145,12 @@ endif ############################################################################### comment "Legacy options removed in 2016.05" +config BR2_x86_i386 + bool "x86 i386 support removed" + help + The support for the i386 processors of the x86 architecture + has been removed. + config BR2_PACKAGE_QT5WEBKIT_EXAMPLES bool "qt5webkit-examples package removed" select BR2_LEGACY
arch/Config.in.x86 +0 -5
@@ -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
package/openssl/openssl.mk +0 -5
@@ -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) \
package/qemu/qemu.mk +0 -1
@@ -23,7 +23,6 @@ HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-p # arm arm # armeb armeb # bfin not supported -# i386 i386 # i486 i386 # i586 i386 # i686 i386
package/uclibc/Config.in +1 -2
@@ -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
toolchain/toolchain-common.in +0 -3
@@ -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
toolchain/toolchain-external/Config.in +1 -2
@@ -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 || \
Signature · 1 line
2.6.4
PATCH v2 1/1 arch/x86: remove support for i386
Quoted 7 lines · Thomas Petazzoni
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 <[email protected]>
[snip]
toolchain/toolchain-external/Config.in config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS · line 617
Quoted 8 lines
toolchain/toolchain-external/Config.in +0
-0@@ -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) || \
With this patch I notice this... Huh? AFAIK ARMv4 cannot have VFPv2, so it
can't be EABIhf, right? I guess, Thomas, that you just blindly set this because the EABIhf version of the toolchain is ARMv5, without realizing that it's ARMv5 because EABIhf doesn't exist for v4?
Regards,
Arnout
Quoted 7 lines
toolchain/toolchain-external/Config.in +1
-2- (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 || \
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 1/1 arch/x86: remove support for i386
Hello,
Quoted 3 lines · Arnout Vandecappelle
Quoted 1 line
Signed-off-by Thomas Petazzoni <[email protected]>
Thanks!
Quoted 5 lines
Quoted 5 lines
toolchain/toolchain-external/Config.in +0
-0@@ -615,8 +615,7 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
Quoted 8 lines
toolchain/toolchain-external/Config.in config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS · line 617
Quoted 3 lines
toolchain/toolchain-external/Config.in +0
-0bool "Musl 1.1.12 toolchain (experimental)" depends on (BR2_arm && BR2_ARM_EABI) || \ (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4) || \With this patch I notice this... Huh? AFAIK ARMv4 cannot have VFPv2, so it
can't be EABIhf, right? I guess, Thomas, that you just blindly set this because the EABIhf version of the toolchain is ARMv5, without realizing that it's ARMv5 because EABIhf doesn't exist for v4?
You're right!
So I guess something like this could be applied, right:
toolchain/toolchain-external/Config.in +1 -3
@@ -613,9 +613,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 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) || \ + depends on BR2_arm || (BR2_armeb && BR2_ARM_EABI) || \ (BR2_i386 && !BR2_x86_i386) || \ (BR2_mips && !BR2_SOFT_FLOAT) || \ BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
Thanks for spotting this!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Thomas Petazzoni
AppliedPATCH v2 1/1 arch/x86: remove support for i386
In reply to Thomas PetazzoniHello,
Quoted 11 lines · Thomas Petazzoni
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 <[email protected]>---
Changes since v1:
- Add Config.in.legacy entry, as suggested by Arnout.
- Remove i386 reference in qemu.mk, as noticed by Arnout.
Quoted 10 lines
--- .defconfig | 1 - Config.in.legacy | 6 ++++++ arch/Config.in.x86 | 5 ----- package/openssl/openssl.mk | 5 ----- package/qemu/qemu.mk | 1 - package/uclibc/Config.in | 3 +-- toolchain/toolchain-common.in | 3 --- toolchain/toolchain-external/Config.in | 3 +-- 8 files changed, 8 insertions(+), 19 deletions(-)
Applied to master.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com