diff options
author | Chris Packham <judge.packham@gmail.com> | 2024-08-02 12:44:52 +1200 |
---|---|---|
committer | Chris Packham <judge.packham@gmail.com> | 2024-08-05 20:33:15 +1200 |
commit | ed12fa68402f58e171a6f79500f73f4781fdc9e5 (patch) | |
tree | 0cf54e95d2f1617d2fbc5ce8df2b634e038d3210 /packages/gcc/14.2.0/0005-Allow-default-libc-to-be-specified-to-configure.patch | |
parent | 5a1dc8d95d29f23f346625dec690ae0eb229d560 (diff) | |
download | crosstool-ng-ed12fa68402f58e171a6f79500f73f4781fdc9e5.tar.gz crosstool-ng-ed12fa68402f58e171a6f79500f73f4781fdc9e5.tar.bz2 crosstool-ng-ed12fa68402f58e171a6f79500f73f4781fdc9e5.zip |
gcc: Add 14.2.0
https://gcc.gnu.org/pipermail/gcc-announce/2024/000184.html
Add the new version clean up the patches.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Diffstat (limited to 'packages/gcc/14.2.0/0005-Allow-default-libc-to-be-specified-to-configure.patch')
-rw-r--r-- | packages/gcc/14.2.0/0005-Allow-default-libc-to-be-specified-to-configure.patch | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/packages/gcc/14.2.0/0005-Allow-default-libc-to-be-specified-to-configure.patch b/packages/gcc/14.2.0/0005-Allow-default-libc-to-be-specified-to-configure.patch new file mode 100644 index 00000000..9a7a2a85 --- /dev/null +++ b/packages/gcc/14.2.0/0005-Allow-default-libc-to-be-specified-to-configure.patch @@ -0,0 +1,134 @@ +From ffb10db6fa080e4c225e16928aec052d4c0baa95 Mon Sep 17 00:00:00 2001 +From: Keith Packard <keithp@keithp.com> +Date: Fri, 2 Sep 2022 23:07:05 -0700 +Subject: [PATCH] Allow default libc to be specified to configure + +The default C library is normally computed based on the target +triplet. However, for embedded systems, it can be useful to leave the +triplet alone while changing which C library is used by default. Other +C libraries may still be available on the system so the compiler and +can be used by specifying suitable include and library paths at build +time. + +If an unknown --with-default-libc= value is provided, emit an error +and stop. + +Signed-off-by: Keith Packard <keithp@keithp.com> +--- + gcc/config.gcc | 48 ++++++++++++++++++++++++++++++++++++++++-------- + gcc/configure.ac | 4 ++++ + 2 files changed, 44 insertions(+), 8 deletions(-) + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -695,6 +695,8 @@ + # Common C libraries. + tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" + ++default_libc="" ++ + # 32-bit x86 processors supported by --with-arch=. Each processor + # MUST be separated by exactly one space. + x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \ +@@ -911,16 +913,16 @@ + esac + case $target in + *-*-*android*) +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC" ++ default_libc=LIBC_BIONIC + ;; + *-*-*uclibc* | *-*-uclinuxfdpiceabi) +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" ++ default_libc=LIBC_UCLIBC + ;; + *-*-*musl*) +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" ++ default_libc=LIBC_MUSL + ;; + *) +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" ++ default_libc=LIBC_GLIBC + ;; + esac + # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit +@@ -1035,7 +1037,8 @@ + case ${enable_threads} in + "" | yes | posix) thread_file='posix' ;; + esac +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" ++ tm_defines="$tm_defines SINGLE_LIBC" ++ default_libc=LIBC_UCLIBC + ;; + *-*-rdos*) + use_gcc_stdint=wrap +@@ -1721,13 +1724,13 @@ + + case ${target} in + csky-*-linux-gnu*) +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" ++ default_libc=LIBC_GLIBC + # Force .init_array support. The configure script cannot always + # automatically detect that GAS supports it, yet we require it. + gcc_cv_initfini_array=yes + ;; + csky-*-linux-uclibc*) +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" ++ default_libc=LIBC_UCLIBC + default_use_cxa_atexit=no + ;; + *) +@@ -3125,7 +3128,7 @@ + tmake_file="${tmake_file} t-linux rs6000/t-linux64 rs6000/t-fprules rs6000/t-ppccomm" + tmake_file="${tmake_file} rs6000/t-vxworks" + +- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" ++ default_libc=LIBC_GLIBC + extra_objs="$extra_objs linux.o rs6000-linux.o" + ;; + powerpc-wrs-vxworks*) +@@ -6079,3 +6082,32 @@ + fi + ;; + esac ++ ++case "${with_default_libc}" in ++glibc) ++ default_libc=LIBC_GLIBC ++ ;; ++uclibc) ++ default_libc=LIBC_UCLIBC ++ ;; ++bionic) ++ default_libc=LIBC_BIONIC ++ ;; ++musl) ++ default_libc=LIBC_MUSL ++ ;; ++"") ++ ;; ++*) ++ echo "Unknown libc in --with-default-libc=$with_default_libc" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++case "$default_libc" in ++"") ++ ;; ++*) ++ tm_defines="$tm_defines DEFAULT_LIBC=$default_libc" ++ ;; ++esac +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -2546,6 +2546,10 @@ + fi + AC_SUBST(inhibit_libc) + ++AC_ARG_WITH(default-libc, ++ [AS_HELP_STRING([--with-default-libc], ++ [Use specified default C library])]) ++ + # When building gcc with a cross-compiler, we need to adjust things so + # that the generator programs are still built with the native compiler. + # Also, we cannot run fixincludes. |