diff options
author | Marius Bakke <marius@gnu.org> | 2021-05-01 22:42:27 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2021-06-13 01:00:46 +0200 |
commit | 4796b5d6d18dcc0f1b6c8e134977ebdb575c5741 (patch) | |
tree | 7f07f488beeb7044590deb4feee787bf848e91d9 /gnu/packages/patches/gcc-cross-gxx-include-dir.patch | |
parent | 1dec7fa83d4e89f98bc887211b1cfb78aa74f98d (diff) |
gnu: GCC: Switch to GCC 10.
* gnu/packages/patches/gcc-cross-gxx-include-dir.patch: New file.
* gnu/packages/patches/gcc-10-cross-environment-variables.patch: New file.
* gnu/packages/gcc.scm (gcc): Point to GCC-10.
(gcc-objc): Point to GCC-OBJC-10.
(gcc-objc++): Point to GCC-OBJC++-10.
* gnu/packages/cross-base.scm (cross-gcc)[source](patches): Apply the new
patches.
Diffstat (limited to 'gnu/packages/patches/gcc-cross-gxx-include-dir.patch')
-rw-r--r-- | gnu/packages/patches/gcc-cross-gxx-include-dir.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/patches/gcc-cross-gxx-include-dir.patch b/gnu/packages/patches/gcc-cross-gxx-include-dir.patch new file mode 100644 index 0000000000..d6c4ffddc4 --- /dev/null +++ b/gnu/packages/patches/gcc-cross-gxx-include-dir.patch @@ -0,0 +1,73 @@ +This patch reverts upstream commit b4d3485e4fc1d: + + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b4d3485e4fc1d029e620a59deb54b3f4f3f6b209 + +Otherwise, GCC ends up searching the wrong target directory for cross-headers. + +diff --git a/gcc/configure b/gcc/configure +--- a/gcc/configure ++++ b/gcc/configure +@@ -3689,11 +3689,6 @@ esac + fi + + +-# If both --with-sysroot and --with-gxx-include-dir are passed, we interpolate +-# the former in the latter and, upon success, compute gcc_gxx_include_dir as +-# relative to the sysroot. +-gcc_gxx_include_dir_add_sysroot=0 +- + # This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO. + if test x${gcc_gxx_include_dir} = x; then + if test x${enable_version_specific_runtime_libs} = xyes; then +@@ -3705,10 +3700,15 @@ if test x${gcc_gxx_include_dir} = x; then + fi + gcc_gxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libstdcxx_incdir" + fi +-elif test "${with_sysroot+set}" = set; then ++fi ++ ++gcc_gxx_include_dir_add_sysroot=0 ++if test "${with_sysroot+set}" = set; then + gcc_gxx_without_sysroot=`expr "${gcc_gxx_include_dir}" : "${with_sysroot}"'\(.*\)'` + if test "${gcc_gxx_without_sysroot}"; then +- gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" ++ if test x${with_sysroot} != x/; then ++ gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" ++ fi + gcc_gxx_include_dir_add_sysroot=1 + fi + fi +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 715fcba0482..88136e232df 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -204,11 +204,6 @@ no) ;; + *) gcc_gxx_include_dir=$with_gxx_include_dir ;; + esac]) + +-# If both --with-sysroot and --with-gxx-include-dir are passed, we interpolate +-# the former in the latter and, upon success, compute gcc_gxx_include_dir as +-# relative to the sysroot. +-gcc_gxx_include_dir_add_sysroot=0 +- + # This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO. + if test x${gcc_gxx_include_dir} = x; then + if test x${enable_version_specific_runtime_libs} = xyes; then +@@ -220,10 +215,15 @@ if test x${gcc_gxx_include_dir} = x; then + fi + gcc_gxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libstdcxx_incdir" + fi +-elif test "${with_sysroot+set}" = set; then ++fi ++ ++gcc_gxx_include_dir_add_sysroot=0 ++if test "${with_sysroot+set}" = set; then + gcc_gxx_without_sysroot=`expr "${gcc_gxx_include_dir}" : "${with_sysroot}"'\(.*\)'` + if test "${gcc_gxx_without_sysroot}"; then +- gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" ++ if test x${with_sysroot} != x/; then ++ gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" ++ fi + gcc_gxx_include_dir_add_sysroot=1 + fi + fi |