04ea3d38dd
Until commit "arch/Config.in.sh: fixup MMU selection" in this series,
SH2A could either be used with BR2_USE_MMU disabled or BR2_USE_MMU
enabled.
The later made absolutely no sense, since SH2A does not have a MMU:
MMU support was introduced starting from SH3 according to
https://en.wikipedia.org/wiki/SuperH#SH-3
Also, since commit 22d5501e03
("arch:
tidy up binary formats config"), which was merged in Buildroot
2015.05, the architecture tuple used when BR2_sh2a=y and BR2_USE_MMU
disabled is sh2a-buildroot-uclinux-uclibc, and this was already
unsupported back in the days of Buildroot 2015.08 and binutils 2.24,
causing the build to fail with:
*** BFD does not support target sh2a-buildroot-uclinux-uclibc.
just like it fails to build today with recent version of binutils.
So, this has been broken since 2015.08, and nobody complained. SH2A is
seldom used, so it's time to kill it.
It is worth mentioning that there had been an attempt at resurrecting
SH2 support around 2015 (see https://lwn.net/Articles/647636/) as part
of the J2 core. This effort led to the addition of FDPIC support for
SH2A in the musl C library (and therefore proper ELF binaries, with
shared libraries), but that was never supported in Buildroot. Now that
the J2 project is essentially dead, there is no reason to bother with
this.
Fixes:
http://autobuild.buildroot.net/results/63d01d33ae30f86b63b9f42a9fea116f2f3e9005/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
155 lines
4.6 KiB
Plaintext
155 lines
4.6 KiB
Plaintext
if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
|
|
|
comment "uClibc Options"
|
|
|
|
config BR2_PACKAGE_UCLIBC
|
|
bool
|
|
default y
|
|
select BR2_PACKAGE_LINUX_HEADERS
|
|
|
|
config BR2_UCLIBC_CONFIG
|
|
string "uClibc configuration file to use?"
|
|
default "package/uclibc/uClibc-ng.config"
|
|
help
|
|
Some people may wish to use their own modified uClibc
|
|
configuration file and will specify their config file
|
|
location with this option. See also docs/README in this
|
|
package. If unsure, use the default.
|
|
|
|
config BR2_UCLIBC_CONFIG_FRAGMENT_FILES
|
|
string "Additional uClibc configuration fragment files"
|
|
help
|
|
A space-separated list of configuration fragment files, that
|
|
will be merged to the main uClibc configuration file.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_WCHAR
|
|
bool "Enable WCHAR support"
|
|
select BR2_USE_WCHAR
|
|
help
|
|
Enable this option if you want your toolchain to support
|
|
wide characters (i.e characters longer than 8 bits, needed
|
|
for locale support).
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_LOCALE
|
|
bool "Enable toolchain locale/i18n support"
|
|
select BR2_TOOLCHAIN_BUILDROOT_WCHAR
|
|
select BR2_ENABLE_LOCALE
|
|
select BR2_NEEDS_HOST_UTF8_LOCALE
|
|
help
|
|
Enable this option if you want your toolchain to support
|
|
localization and internationalization.
|
|
|
|
choice
|
|
prompt "Thread library implementation"
|
|
help
|
|
Use this option to select the thread library implementation
|
|
that should be used in your toolchain.
|
|
|
|
config BR2_PTHREADS_NATIVE
|
|
bool "Native POSIX Threading (NPTL)"
|
|
depends on BR2_USE_MMU
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
|
|
config BR2_PTHREADS
|
|
bool "linuxthreads"
|
|
depends on !BR2_aarch64 && !BR2_aarch64_be
|
|
depends on !BR2_RISCV_64
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PTHREADS_NONE
|
|
bool "none"
|
|
|
|
endchoice
|
|
|
|
config BR2_PTHREAD_DEBUG
|
|
bool "Thread library debugging"
|
|
depends on BR2_PTHREADS || BR2_PTHREADS_NATIVE
|
|
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
|
help
|
|
Build the thread library with debugging enabled.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
|
|
bool "Enable stack protection support"
|
|
depends on BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
help
|
|
Enable stack smashing protection support using GCCs
|
|
-fstack-protector-all option in uClibc.
|
|
|
|
See
|
|
http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
|
|
for details.
|
|
|
|
config BR2_UCLIBC_INSTALL_UTILS
|
|
bool "Compile and install uClibc utilities"
|
|
default y
|
|
help
|
|
Enabling this option will compile and install the getconf,
|
|
ldconfig and ldd uClibc utilities for the target.
|
|
|
|
You can save ~32 KiB in target space by disabling them since
|
|
they're normally not needed.
|
|
|
|
# Mapping from the Buildroot architecture configuration options to the
|
|
# uClibc architecture names.
|
|
config BR2_UCLIBC_TARGET_ARCH
|
|
string
|
|
default "arc" if BR2_arcle || BR2_arceb
|
|
default "arm" if BR2_arm || BR2_armeb
|
|
default "m68k" if BR2_m68k
|
|
default "microblaze" if BR2_microblaze
|
|
default "mips" if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
|
default "or1k" if BR2_or1k
|
|
default "powerpc" if BR2_powerpc
|
|
default "sh" if BR2_sh
|
|
default "sparc" if BR2_sparc
|
|
default "xtensa" if BR2_xtensa
|
|
default "i386" if BR2_i386
|
|
default "x86_64" if BR2_x86_64
|
|
default "riscv64" if BR2_RISCV_64
|
|
|
|
config BR2_UCLIBC_MIPS_ABI
|
|
string
|
|
default "O32" if BR2_MIPS_OABI32
|
|
default "N32" if BR2_MIPS_NABI32
|
|
default "N64" if BR2_MIPS_NABI64
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "mips"
|
|
|
|
config BR2_UCLIBC_MIPS_NAN
|
|
string
|
|
default "LEGACY" if BR2_MIPS_NAN_LEGACY
|
|
default "2008" if BR2_MIPS_NAN_2008
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "mips"
|
|
|
|
config BR2_UCLIBC_SH_TYPE
|
|
string
|
|
default "SH4" if BR2_sh4 || BR2_sh4eb
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "sh"
|
|
|
|
config BR2_UCLIBC_SPARC_TYPE
|
|
string
|
|
default "V7" if BR2_sparc_v7 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon
|
|
default "V8" if BR2_sparc_v8 || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "sparc"
|
|
|
|
config BR2_UCLIBC_POWERPC_TYPE
|
|
string
|
|
default "CLASSIC" if !BR2_powerpc_8540 && !BR2_powerpc_8548
|
|
default "E500" if BR2_powerpc_8540 || BR2_powerpc_8548
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "powerpc"
|
|
|
|
config BR2_UCLIBC_X86_TYPE
|
|
string
|
|
default "486" if BR2_x86_i486
|
|
default "586" if BR2_x86_i586
|
|
default "586MMX" if BR2_x86_pentium_mmx
|
|
default "686" if BR2_x86_i686 || BR2_x86_pentiumpro
|
|
default "PENTIUMII" if BR2_x86_pentium2
|
|
default "PENTIUMIII" if BR2_x86_pentium3
|
|
default "PENTIUM4" if BR2_x86_pentium4 || BR2_x86_pentium_m || \
|
|
BR2_x86_nocona || BR2_x86_core2 || BR2_x86_corei7
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "i386"
|
|
|
|
endif # BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|