2014-02-10 18:43:46 +01:00
|
|
|
if BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
|
|
|
|
2014-07-25 22:06:27 +02:00
|
|
|
config BR2_PACKAGE_GLIBC
|
|
|
|
bool
|
|
|
|
default y
|
2015-12-30 00:10:38 +01:00
|
|
|
select BR2_PACKAGE_LINUX_HEADERS
|
2016-03-15 17:40:38 +01:00
|
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
2014-07-25 22:06:27 +02:00
|
|
|
|
2014-02-10 18:43:46 +01:00
|
|
|
choice
|
|
|
|
prompt "glibc version"
|
2016-06-22 12:09:47 +02:00
|
|
|
default BR2_GLIBC_VERSION_2_23
|
2014-09-08 12:53:21 +02:00
|
|
|
|
2015-08-07 15:37:33 +02:00
|
|
|
config BR2_GLIBC_VERSION_2_22
|
|
|
|
bool "2.22"
|
glibc: disable build of glibc 2.22 with gcc 6.x
glibc-2.22 does not build with gcc 6.x. The first issues can be fixed
by:
- Using the same 0004-gcc6.patch as we're using with glibc 2.23 since
Buildroot commit ab8de336eb39ae1cb019a72be65bd0504c86e527.
- Backport glibc commit 5542236837c5c41435f8282ec92799f480c36f18 to fix
strchr() build failure.
But then, there are some more failures caused by the fact that numerous
glibc files were not using modern prototypes in the function
definitions, causing build failures such as:
../sysdeps/unix/sysv/linux/dl-openat64.c:26:1: error: 'openat64' defined as variadic function without prototype [-Werror]
openat64 (dfd, file, oflag)
^~~~~~~~
In file included from ../include/fcntl.h:2:0,
from ../sysdeps/unix/sysv/linux/dl-openat64.c:21:
../io/fcntl.h:214:12: note: previous declaration of 'openat64' was here
extern int openat64 (int __fd, const char *__file, int __oflag, ...)
^~~~~~~~
This could be fixed by backporting glibc commit
9dd346ff431fc761f1b748bd4da8bb59f7652094, but this is a large commit,
touching a significant number of files. We probably don't want to take
this path, and instead making glibc 2.22 as not available with gcc 6.x
seems like the right course of action.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-05-17 00:12:55 +02:00
|
|
|
# Too old to build with gcc >= 6.x
|
|
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
2016-02-19 14:32:33 +01:00
|
|
|
|
|
|
|
config BR2_GLIBC_VERSION_2_23
|
|
|
|
bool "2.23"
|
2015-08-07 15:37:33 +02:00
|
|
|
|
2016-08-10 11:28:48 +02:00
|
|
|
config BR2_GLIBC_VERSION_2_24
|
|
|
|
bool "2.24"
|
|
|
|
# Linux 3.2 or later kernel headers are required on all arches.
|
|
|
|
# See: https://sourceware.org/ml/libc-alpha/2016-08/msg00212.html
|
|
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
|
|
|
|
|
|
|
|
comment "glibc-2.24 needs kernel headers >= 3.2"
|
|
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
|
|
|
|
|
2014-02-10 18:43:46 +01:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
endif
|
2014-06-01 21:33:58 +02:00
|
|
|
|
|
|
|
config BR2_GLIBC_VERSION_STRING
|
|
|
|
string
|
2015-08-07 15:37:33 +02:00
|
|
|
default "2.22" if BR2_GLIBC_VERSION_2_22
|
2016-02-19 14:32:33 +01:00
|
|
|
default "2.23" if BR2_GLIBC_VERSION_2_23
|
2016-08-10 11:28:48 +02:00
|
|
|
default "2.24" if BR2_GLIBC_VERSION_2_24
|