Commit 8d298938 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

eglibc: enable support in the Buildroot toolchain backend



Using the newly introduced 'eglibc' package, this commit enables the
option of building a toolchain using the eglibc C library in the
Buildroot toolchain backend.

In details, this commit:

 * Creates a choice to select uClibc or eglibc in the Buildroot
   toolchain backend (in toolchain/toolchain-buildroot/Config.in), and
   removes the fact that the Buildroot toolchain backend forcefully
   enables uClibc (toolchain/Config.in).

 * Creates a BUILDROOT_LIBC variables, which points to the package
   implementing the C library (i.e either 'uclibc' or 'eglibc').

 * Modifies the gcc-final and gcc-intermediate makefiles to use the
   BUILDROOT_LIBC variable instead of hardcoding the use of uclibc.

 * Ensures that TLS support is always enabled when building eglibc.

[Peter: fix commit text to refer to BUILDROOT_LIBC]
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 413ecfa8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -114,9 +114,9 @@ config BR2_GCC_SHARED_LIBGCC
	  Build/install a shared libgcc library

config BR2_GCC_ENABLE_TLS
	bool "Enable compiler tls support"
	bool "Enable compiler tls support" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
	default y
	depends on BR2_PTHREADS_NATIVE
	depends on BR2_PTHREADS_NATIVE || BR2_TOOLCHAIN_BUILDROOT_EGLIBC
	help
	  Enable the compiler to generate code for accessing
	  thread local storage variables
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ GCC_FINAL_SOURCE = $(GCC_SOURCE)

HOST_GCC_FINAL_DEPENDENCIES = \
	$(HOST_GCC_COMMON_DEPENDENCIES) \
	uclibc
	$(BUILDROOT_LIBC)

HOST_GCC_FINAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)

+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ GCC_INTERMEDIATE_SOURCE = $(GCC_SOURCE)

HOST_GCC_INTERMEDIATE_DEPENDENCIES = \
	$(HOST_GCC_COMMON_DEPENDENCIES) \
	uclibc-configure
	$(BUILDROOT_LIBC)-configure

HOST_GCC_INTERMEDIATE_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)

+4 −0
Original line number Diff line number Diff line
if BR2_TOOLCHAIN_BUILDROOT_UCLIBC

comment "uClibc Options"

choice
@@ -241,3 +243,5 @@ config BR2_UCLIBC_X86_TYPE
	default PENTIUMIII if BR2_x86_pentium3
	default PENTIUM4   if BR2_x86_pentium4 || BR2_x86_pentium_m || \
			      BR2_x86_nocona || BR2_x86_core2

endif # BR2_TOOLCHAIN_BUILDROOT_UCLIBC
+0 −1
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ config BR2_TOOLCHAIN_BUILDROOT
	bool "Buildroot toolchain"
	depends on !BR2_microblaze && !BR2_aarch64
	select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
	select BR2_TOOLCHAIN_USES_UCLIBC

config BR2_TOOLCHAIN_EXTERNAL
	bool "External toolchain"
Loading