Date: Wednesday, May 17, 2017 @ 20:30:44
  Author: heftig
Revision: 228392

7.1.1-2

Added:
  gcc-multilib/trunk/Revert-eeb6872bf.patch
Modified:
  gcc-multilib/trunk/PKGBUILD

------------------------+
 PKGBUILD               |   17 ++++++---
 Revert-eeb6872bf.patch |   82 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 93 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2017-05-17 20:22:19 UTC (rev 228391)
+++ PKGBUILD    2017-05-17 20:30:44 UTC (rev 228392)
@@ -6,11 +6,11 @@
 # NOTE: libtool requires rebuilt with each new gcc version
 
 pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 
'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib')
-pkgver=6.3.1
-_pkgver=6
-_islver=0.16.1
+pkgver=7.1.1
+_pkgver=${pkgver:0:1}
+_islver=0.18
 pkgrel=2
-_commit=4fc407888a30c5d953816b05c8a8e98ec2ab3101
+_commit=754d7e56674dda4bd2d40e310d2093c2df970780
 pkgdesc="The GNU Compiler Collection for multilib"
 arch=('x86_64')
 license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -20,9 +20,11 @@
 checkdepends=('dejagnu' 'inetutils')
 options=('!emptydirs')
 source=(git+https://gcc.gnu.org/git/gcc.git#commit=${_commit}
-        http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2)
+        http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+        Revert-eeb6872bf.patch)
 md5sums=('SKIP'
-         'ac1f25a0677912952718a51f5bc20f32')
+         '11436d6b205e516635b666090b94ab32'
+         'e4c9c8b498b04c0f51d219d025ca8407')
 
 _libdir="usr/lib/gcc/$CHOST/$pkgver"
 
@@ -41,6 +43,9 @@
   # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
   sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
 
+  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80717
+  git apply ../Revert-eeb6872bf.patch
+
   mkdir ${srcdir}/gcc-build
 }
 

Added: Revert-eeb6872bf.patch
===================================================================
--- Revert-eeb6872bf.patch                              (rev 0)
+++ Revert-eeb6872bf.patch      2017-05-17 20:30:44 UTC (rev 228392)
@@ -0,0 +1,82 @@
+commit 43d83a70267a9e5c456d28de8e7348820446b712
+Author: Bartłomiej Piotrowski <bpiotrow...@archlinux.org>
+Date:   Tue May 16 07:50:42 2017 +0200
+
+    Revert "Prevent LTO wrappers to process a recursive execution"
+    
+    This reverts commit eeb6872bfdfd1e71b27de6f62a5f5c08a2efb015.
+
+diff --git a/gcc/file-find.c b/gcc/file-find.c
+index b072a4993d76..b5a1fe8494e8 100644
+--- a/gcc/file-find.c
++++ b/gcc/file-find.c
+@@ -208,38 +208,3 @@ prefix_from_string (const char *p, struct path_prefix 
*pprefix)
+     }
+   free (nstore);
+ }
+-
+-void
+-remove_prefix (const char *prefix, struct path_prefix *pprefix)
+-{
+-  struct prefix_list *remove, **prev, **remove_prev = NULL;
+-  int max_len = 0;
+-
+-  if (pprefix->plist)
+-    {
+-      prev = &pprefix->plist;
+-      for (struct prefix_list *pl = pprefix->plist; pl->next; pl = pl->next)
+-      {
+-        if (strcmp (prefix, pl->prefix) == 0)
+-          {
+-            remove = pl;
+-            remove_prev = prev;
+-            continue;
+-          }
+-
+-        int l = strlen (pl->prefix);
+-        if (l > max_len)
+-          max_len = l;
+-
+-        prev = &pl;
+-      }
+-
+-      if (remove_prev)
+-      {
+-        *remove_prev = remove->next;
+-        free (remove);
+-      }
+-
+-      pprefix->max_len = max_len;
+-    }
+-}
+diff --git a/gcc/file-find.h b/gcc/file-find.h
+index 8f49a3af273e..407feba26e74 100644
+--- a/gcc/file-find.h
++++ b/gcc/file-find.h
+@@ -41,7 +41,6 @@ extern void find_file_set_debug (bool);
+ extern char *find_a_file (struct path_prefix *, const char *, int);
+ extern void add_prefix (struct path_prefix *, const char *);
+ extern void add_prefix_begin (struct path_prefix *, const char *);
+-extern void remove_prefix (const char *prefix, struct path_prefix *);
+ extern void prefix_from_env (const char *, struct path_prefix *);
+ extern void prefix_from_string (const char *, struct path_prefix *);
+ 
+diff --git a/gcc/gcc-ar.c b/gcc/gcc-ar.c
+index 78d2fc1ad306..d5d80e042e5a 100644
+--- a/gcc/gcc-ar.c
++++ b/gcc/gcc-ar.c
+@@ -194,14 +194,6 @@ main (int ac, char **av)
+ #ifdef CROSS_DIRECTORY_STRUCTURE
+       real_exe_name = concat (target_machine, "-", PERSONALITY, NULL);
+ #endif
+-      /* Do not search original location in the same folder.  */
+-      char *exe_folder = lrealpath (av[0]);
+-      exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = 
'\0';
+-      char *location = concat (exe_folder, PERSONALITY, NULL);
+-
+-      if (access (location, X_OK) == 0)
+-      remove_prefix (exe_folder, &path);
+-
+       exe_name = find_a_file (&path, real_exe_name, X_OK);
+       if (!exe_name)
+       {

Reply via email to