[arch-commits] Commit in avr-gcc/trunk (PKGBUILD Revert-eeb6872bf.patch)
Anatol Pomozov
anatolik at archlinux.org
Wed Jul 5 19:18:09 UTC 2017
Date: Wednesday, July 5, 2017 @ 19:18:08
Author: anatolik
Revision: 242433
FS#54159: revert change that breaks find_a_file() codepath
Added:
avr-gcc/trunk/Revert-eeb6872bf.patch
Modified:
avr-gcc/trunk/PKGBUILD
------------------------+
PKGBUILD | 19 ++++++++--
Revert-eeb6872bf.patch | 82 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 96 insertions(+), 5 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-07-05 18:14:20 UTC (rev 242432)
+++ PKGBUILD 2017-07-05 19:18:08 UTC (rev 242433)
@@ -8,8 +8,8 @@
pkgname=avr-gcc
pkgver=7.1.0
-pkgrel=1
-_snapshot=7-20170504
+pkgrel=2
+_snapshot=7-20170629
_islver=0.18
pkgdesc='The GNU AVR Compiler Collection'
arch=(i686 x86_64)
@@ -19,11 +19,13 @@
optdepends=('avr-libc: Standard C library for Atmel AVR development')
options=(!emptydirs !strip)
source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
- ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.xz
http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+ Revert-eeb6872bf.patch
)
-sha1sums=('32a04c55957106324ab024798812c432e83c9c2b'
- 'bbffc5a2b05e4f0c97e882f96c448504491dc4ed')
+sha1sums=('03dd99b2fe79eceb05e3763569278a4ecce808ff'
+ 'bbffc5a2b05e4f0c97e882f96c448504491dc4ed'
+ 'f93cd532288a58d76c9dcdf654c7e6028c6f411f')
if [ -n "${_snapshot}" ]; then
_basedir=gcc-${_snapshot}
@@ -31,6 +33,13 @@
_basedir=gcc-${pkgver}
fi
+prepare() {
+ cd ${_basedir}
+
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80717
+ patch -p1 < ../Revert-eeb6872bf.patch
+}
+
build() {
cd ${srcdir}/${_basedir}
Added: Revert-eeb6872bf.patch
===================================================================
--- Revert-eeb6872bf.patch (rev 0)
+++ Revert-eeb6872bf.patch 2017-07-05 19:18:08 UTC (rev 242433)
@@ -0,0 +1,82 @@
+commit 43d83a70267a9e5c456d28de8e7348820446b712
+Author: Bartłomiej Piotrowski <bpiotrowski at 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)
+ {
More information about the arch-commits
mailing list