commit: 3c8762a46f4ae91d8e5bb71018b244b2f430b7f1 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Sun Sep 2 23:31:23 2018 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Sun Sep 2 23:31:23 2018 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=3c8762a4
2.95.3: fix stage1 bulding against modern toolchain 3 new patches: - 44_all_gcc-texi.patch: fix buuild failure against makeinfo-6.3 - 45_all_libexec-gcc-as.patch: lookup as in /usr/libexec/gcc/<TARGET> - 46_all_libexec-gcc-binutils.patch: add /usr/libexec/gcc/<TARGET> to search path Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> 2.95.3/gentoo/44_all_gcc-texi.patch | 14 ++++++ 2.95.3/gentoo/45_all_libexec-gcc-as.patch | 26 +++++++++++ 2.95.3/gentoo/46_all_libexec-gcc-binutils.patch | 61 +++++++++++++++++++++++++ 3 files changed, 101 insertions(+) diff --git a/2.95.3/gentoo/44_all_gcc-texi.patch b/2.95.3/gentoo/44_all_gcc-texi.patch new file mode 100644 index 0000000..a4b7044 --- /dev/null +++ b/2.95.3/gentoo/44_all_gcc-texi.patch @@ -0,0 +1,14 @@ +makeinfo-6.3 allows @itemx only after @item and fails the build as: + gcc-2.95.3/gcc/install.texi:1607: @itemx must follow @item + +--- a/gcc/install.texi ++++ b/gcc/install.texi +@@ -1604,7 +1604,7 @@ linker that are fixed by using the GNU versions of these tools. + Embedded PowerPC system in little endian mode for use in running under + the PSIM simulator. + +-@itemx powerpcle-*-eabi ++@item powerpcle-*-eabi + Embedded PowerPC system in little endian mode. + + You can specify a default version for the @samp{-mcpu=}@var{cpu_type} diff --git a/2.95.3/gentoo/45_all_libexec-gcc-as.patch b/2.95.3/gentoo/45_all_libexec-gcc-as.patch new file mode 100644 index 0000000..e857363 --- /dev/null +++ b/2.95.3/gentoo/45_all_libexec-gcc-as.patch @@ -0,0 +1,26 @@ +Before gcc-3.4 assembler was supposed to be in /usr/lib/gcc-lib/<TARGET> +After gcc-3.4 assembler location moved to /usr/libexec/gcc/<TARGET> + +Add gcc-3.4-style path. +--- a/gcc/configure ++++ b/gcc/configure +@@ -8161,3 +8161,7 @@ elif test x$host = x$target; then + +- test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \ ++ test_dirs="$test_prefix/libexec/gcc/$target/$gcc_version \ ++ $test_prefix/libexec/gcc/$target \ ++ /usr/libexec/gcc/$target/$gcc_version \ ++ /usr/libexec/gcc/$target \ ++ $test_prefix/lib/gcc-lib/$target/$gcc_version \ + $test_prefix/lib/gcc-lib/$target \ +--- a/gcc/configure.in ++++ b/gcc/configure.in +@@ -4010,3 +4010,7 @@ elif test x$host = x$target; then + +- test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \ ++ test_dirs="$test_prefix/libexec/gcc/$target/$gcc_version \ ++ $test_prefix/libexec/gcc/$target \ ++ /usr/libexec/gcc/$target/$gcc_version \ ++ /usr/libexec/gcc/$target \ ++ $test_prefix/lib/gcc-lib/$target/$gcc_version \ + $test_prefix/lib/gcc-lib/$target \ diff --git a/2.95.3/gentoo/46_all_libexec-gcc-binutils.patch b/2.95.3/gentoo/46_all_libexec-gcc-binutils.patch new file mode 100644 index 0000000..fb97b42 --- /dev/null +++ b/2.95.3/gentoo/46_all_libexec-gcc-binutils.patch @@ -0,0 +1,61 @@ +Before gcc-3.4 gcc libraries and searched executables +were in /usr/lib/gcc-lib/<TARGET> (STANDARD_EXEC_PREFIX) + +After gcc-3.4 the split happened: +- /usr/lib/gcc/<TARGET> for libraries (STARDARD_EXEC_PREFIX) +- /usr/libexec/gcc/<TARGET> for executables (STANDARD_LIBEXEC_PREFIX) + +This patch adds STANDARD_LIBEXEC_PREFIX to allow bootstrapping +on 3.4+-only system. +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -271,8 +271,13 @@ exec_prefix = @exec_prefix@ + bindir = @bindir@ + # Directory in which to put the directories used by the compiler. + libdir = @libdir@ ++# Directory in which GCC puts its executables. ++libexecdir = @libexecdir@ ++ + # Directory in which the compiler finds executables, libraries, etc. + libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(version) ++# Directory in which the compiler finds executables ++libexecsubdir = $(libexecdir)/gcc/$(target_alias)/$(version) + # Used to produce a relative $(gcc_tooldir) in gcc.o + unlibsubdir = ../../.. + # Directory in which to find other cross-compilation tools and headers. +@@ -650,6 +655,7 @@ ORDINARY_FLAGS_TO_PASS = \ + "gcc_tooldir=$(gcc_tooldir)" \ + "bindir=$(bindir)" \ + "libsubdir=$(libsubdir)" \ ++ "libexecsubdir=$(libsubdir)" \ + "datadir=$(datadir)" \ + "distdir=../tmp/\$$(subdir)" \ + "localedir=$(localedir)" +@@ -1412,6 +1418,7 @@ c-common.o : c-common.c $(CONFIG_H) system.h $(TREE_H) c-tree.h c-lex.h \ + DRIVER_DEFINES = \ + -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \ + -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \ ++ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ + -DDEFAULT_TARGET_VERSION=\"$(version)\" \ + -DDEFAULT_TARGET_MACHINE=\"$(target_alias)\" \ + -DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\" +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -1379,6 +1379,8 @@ static const char *standard_exec_prefix_1 = "/usr/lib/gcc/"; + static const char *md_exec_prefix = MD_EXEC_PREFIX; + #endif + ++static const char *standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX; ++ + #ifndef STANDARD_STARTFILE_PREFIX + #define STANDARD_STARTFILE_PREFIX "/usr/local/lib/" + #endif /* !defined STANDARD_STARTFILE_PREFIX */ +@@ -3062,6 +3064,8 @@ process_command (argc, argv) + 0, 2, warn_std_ptr); + add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS", + 0, 2, warn_std_ptr); ++ add_prefix (&exec_prefixes, standard_libexec_prefix, "BINUTILS", ++ 0, 2, warn_std_ptr); + #endif + + add_prefix (&startfile_prefixes, standard_exec_prefix, "BINUTILS",