From bf39e1548cf4dc4642803da931e69b56365fe1b1 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 19 Jun 2013 08:27:38 -0400 Subject: Fuzz is fatal. Update indentation in patch. Apparently, some indentation changed between versions 4.7.2 and 4.7.3 of GCC. BusyBox patch "does not use the location information, but instead treats a hunk as a sort of regex" (BusyBox 1.21.0 editors/patch.c:209). It ignores line numbers and relies on context matching to find hunks to patch. Therefore, changes to the context in the original file cause BusyBox patch to fail to apply a hunk. Fuzz is fatal. A patch needs to be refreshed when a new upstream version modifies its context. Before: /usr/src/gcc-4.7_4.7.3+sip1-1/tmp/src # patch -N -p 1 -u -i ../../patches/01_allow-more-dirs-to-be-configured.patch patching file gcc/gcc.c Hunk 2 FAILED 3688/3690. PREFIX_PRIORITY_LAST, 0, 0); } + add_prefix (&exec_prefixes, + concat (user_tooldir_prefix, dir_separator_str, NULL), + 0, PREFIX_PRIORITY_LAST, 0, 0); + add_prefix (&startfile_prefixes, + concat (user_tooldir_prefix, dir_separator_str, NULL), + 0, PREFIX_PRIORITY_LAST, 0, 0); + add_prefix (&include_prefixes, + concat (user_tooldir_prefix, dir_separator_str, NULL), + 0, PREFIX_PRIORITY_LAST, 0, 0); + /* COMPILER_PATH and LIBRARY_PATH have values that are lists of directory names with colons. */ patching file gcc/Makefile.in patching file libmudflap/Makefile.am patching file libmudflap/Makefile.in patching file libquadmath/Makefile.am patching file libquadmath/Makefile.in patching file libssp/Makefile.am patching file libssp/Makefile.in patching file libstdc++-v3/Makefile.am patching file libstdc++-v3/Makefile.in patching file Makefile.def patching file Makefile.in After: /usr/src/gcc-4.7_4.7.3+sip1-1/tmp/src # patch -N -p 1 -u -i ../../patches/01_allow-more-dirs-to-be-configured.patch patching file gcc/gcc.c patching file gcc/Makefile.in patching file libmudflap/Makefile.am patching file libmudflap/Makefile.in patching file libquadmath/Makefile.am patching file libquadmath/Makefile.in patching file libssp/Makefile.am patching file libssp/Makefile.in patching file libstdc++-v3/Makefile.am patching file libstdc++-v3/Makefile.in patching file Makefile.def patching file Makefile.in --- diff --git a/patches/01_allow-more-dirs-to-be-configured.patch b/patches/01_allow-more-dirs-to-be-configured.patch index 4945805..cca9d2b 100644 --- a/patches/01_allow-more-dirs-to-be-configured.patch +++ b/patches/01_allow-more-dirs-to-be-configured.patch @@ -20,7 +20,7 @@ diff -Naur src.orig/gcc/gcc.c src/gcc/gcc.c components that may be provided by the system. For cross compilers, these paths are not used. */ @@ -3688,6 +3690,16 @@ - PREFIX_PRIORITY_LAST, 0, 0); + PREFIX_PRIORITY_LAST, 0, 0); } + add_prefix (&exec_prefixes, -- cgit v0.9.1