diff options
author | Chris Packham <judge.packham@gmail.com> | 2021-06-28 07:35:04 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-28 07:35:04 (GMT) |
commit | 94b98a4cc96ff6c4ca982ea19db953447e802919 (patch) | |
tree | 805e2fb6a1e73458dcda860a3c12a8560e1ed5e7 | |
parent | 9e10cb6fbaab6d83e1305b2d53ab585d14989667 (diff) | |
parent | aa98a2e2f3f6f91ab02b932162da4bb60f61c9ba (diff) |
Merge pull request #1539 from nikkon-dev/nikkon-dev/old_glibc_fix
Fix build of older Glibc using GCC >=10
-rw-r--r-- | config/libc/glibc.in | 9 | ||||
-rw-r--r-- | scripts/build/libc/glibc.sh | 4 |
2 files changed, 13 insertions, 0 deletions
diff --git a/config/libc/glibc.in b/config/libc/glibc.in index 5a3b1b8..3905f6e 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,12 @@ 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 + help + Starting from GCC 10, the default behavior is changed to -fno-common. + That leads to linking errors in GLibc versions older than 2.30. + 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";; |