toolchain/toolchain-bare-metal-buildroot: add multilib option

Sometimes the default GCC and newlib libraries built for a given
architecture tuple are not based on the desired ABI. Since ABI definitions are
different between architectures, the simplest solution is to allow users to
build bare-metal toolchains with --enable-multilib. This way, the libraries
for every available ABI will be built and users will be able to select the
desired library for their user applications.

This patch adds the option BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_MULTILIB to give
users the choice to enable multilib, if desired.

Please note that when using a string of architecture tuples, this option will
apply to all architectures in the string, so it can significantly increase
build time.

Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Jesse Taube <Mr.Bossman075@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Neal Frager
2025-06-19 16:48:11 +01:00
committed by Julien Olivain
parent e7937c52b6
commit f2c9457819
4 changed files with 35 additions and 3 deletions

View File

@@ -12,6 +12,20 @@ config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH
metal toolchain, use the following definition:
"microblazeel-buildroot-elf riscv32-buildroot-elf"
config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_MULTILIB
bool "Enable multilib"
help
Sometimes the default GCC and newlib libraries for a given
architecture are not the desired ABI. Since ABI
definitions are different for each architecture, this
option will enable multilib configuration, so that all
available ABI libraries are built which will guarantee
that the desired version will be available for user
applications.
When enabled, this option will apply to all architecture
tuples in the list.
source "package/newlib-bare-metal/Config.in"
endif # BR2_TOOLCHAIN_BARE_METAL_BUILDROOT