summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/libc/glibc.in7
-rw-r--r--scripts/build/libc/glibc.sh4
2 files changed, 11 insertions, 0 deletions
diff --git a/config/libc/glibc.in b/config/libc/glibc.in
index 5a3b1b8..b2cf0da 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -181,6 +181,7 @@ config GLIBC_CONFIGPARMS
config GLIBC_EXTRA_CFLAGS
string
prompt "extra target CFLAGS"
+ default "-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" if GLIBC_2_29_or_older && GCC_11_or_later
default ""
help
Extra target CFLAGS to use when building.
@@ -416,4 +417,10 @@ config GLIBC_ENABLE_WERROR
endif
+config GLIBC_ENABLE_COMMON_FLAG
+ bool "Enable -fcommon flag for older version of glibc when using GCC >=10"
+ default y if GLIBC_2_29_or_older && GCC_10_or_later
+ default n if GLIBC_2_30_or_later || GCC_9_or_older
+
+
endif # KERNEL_LINUX
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index ba6e548..0db7c1c 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -201,6 +201,10 @@ glibc_backend_once()
# glibc can't be built without -O2 (reference needed!)
glibc_cflags+=" -g -O2"
+ if [ "${CT_GLIBC_ENABLE_COMMON_FLAG}" = "y" ]; then
+ glibc_cflags+=" -fcommon"
+ fi
+
case "${CT_GLIBC_ENABLE_FORTIFIED_BUILD}" in
y) ;;
*) glibc_cflags+=" -U_FORTIFY_SOURCE";;