diff options
Diffstat (limited to 'development/avr-gcc')
-rw-r--r-- | development/avr-gcc/Revert-eeb6872bf.patch | 82 | ||||
-rw-r--r-- | development/avr-gcc/avr-gcc.SlackBuild | 14 | ||||
-rw-r--r-- | development/avr-gcc/avr-gcc.info | 6 |
3 files changed, 95 insertions, 7 deletions
diff --git a/development/avr-gcc/Revert-eeb6872bf.patch b/development/avr-gcc/Revert-eeb6872bf.patch new file mode 100644 index 0000000000..1688c149a8 --- /dev/null +++ b/development/avr-gcc/Revert-eeb6872bf.patch @@ -0,0 +1,82 @@ +commit 43d83a70267a9e5c456d28de8e7348820446b712 +Author: Bartłomiej Piotrowski <bpiotrowski@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) + { diff --git a/development/avr-gcc/avr-gcc.SlackBuild b/development/avr-gcc/avr-gcc.SlackBuild index a91986fe8c..ab3f811380 100644 --- a/development/avr-gcc/avr-gcc.SlackBuild +++ b/development/avr-gcc/avr-gcc.SlackBuild @@ -8,7 +8,7 @@ # This file is placed in the public domain. PRGNAM=avr-gcc -VERSION=${VERSION:-4.9.2} +VERSION=${VERSION:-7.1.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -45,9 +45,8 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf gcc-$VERSION avr-gcc-build-$VERSION -tar xvf $CWD/gcc-$VERSION.tar.bz2 || exit 1 -mkdir avr-gcc-build-$VERSION -cd avr-gcc-build-$VERSION || exit 1 +tar xvf $CWD/gcc-$VERSION.tar.bz2 +cd gcc-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -55,6 +54,12 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80717 +patch -p1 < $CWD/Revert-eeb6872bf.patch + +mkdir ../avr-gcc-build-$VERSION +cd ../avr-gcc-build-$VERSION + CFLAGS_FOR_BUILD="$SLKCFLAGS" \ CXXFLAGS_FOR_BUILD="$SLKCFLAGS" \ ../gcc-$VERSION/configure \ @@ -99,6 +104,7 @@ make install DESTDIR=$PKG || exit 1 # Remove useless stuff rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/libiberty.a +rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/libcc1.* rm -rf $PKG/usr/info rm -rf $PKG/usr/include rm -rf $PKG/usr/share diff --git a/development/avr-gcc/avr-gcc.info b/development/avr-gcc/avr-gcc.info index 6bd3a9b64d..4eda349091 100644 --- a/development/avr-gcc/avr-gcc.info +++ b/development/avr-gcc/avr-gcc.info @@ -1,8 +1,8 @@ PRGNAM="avr-gcc" -VERSION="4.9.2" +VERSION="7.1.0" HOMEPAGE="http://www.gnu.org/software/gcc/" -DOWNLOAD="ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2" -MD5SUM="4df8ee253b7f3863ad0b86359cd39c43" +DOWNLOAD="ftp://ftp.gnu.org/pub/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.bz2" +MD5SUM="6bf56a2bca9dac9dbbf8e8d1036964a8" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="avr-binutils" |