mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
core/gcc to 7.1.1-2
This commit is contained in:
parent
4bf43b572e
commit
bc41dc093e
2 changed files with 93 additions and 6 deletions
|
@ -16,11 +16,11 @@
|
|||
noautobuild=1
|
||||
|
||||
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-go')
|
||||
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"
|
||||
arch=('i686' 'x86_64')
|
||||
license=('GPL' 'LGPL' 'FDL' 'custom')
|
||||
|
@ -30,9 +30,11 @@ checkdepends=('dejagnu' 'inetutils')
|
|||
options=('!emptydirs' '!distcc')
|
||||
source=(https://github.com/gcc-mirror/gcc/archive/${_commit}.tar.gz
|
||||
http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
|
||||
Revert-eeb6872bf.patch
|
||||
0001-ARMv5-disable-LDRD-STRD.patch)
|
||||
md5sums=('caa9e0f74678087d447d1dd87f358d97'
|
||||
'ac1f25a0677912952718a51f5bc20f32'
|
||||
md5sums=('577221607ee2ed35e5afde8583479066'
|
||||
'11436d6b205e516635b666090b94ab32'
|
||||
'e4c9c8b498b04c0f51d219d025ca8407'
|
||||
'a5165d78c473b487637d293a49e01740')
|
||||
|
||||
_libdir="usr/lib/gcc/$CHOST/$pkgver"
|
||||
|
@ -56,6 +58,9 @@ prepare() {
|
|||
# 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
|
||||
|
||||
# ALARM: Specify build host types, triplet patch
|
||||
[[ $CARCH == "arm" ]] && CONFIGFLAG="--host=armv5tel-unknown-linux-gnueabi --build=armv5tel-unknown-linux-gnueabi --with-arch=armv5te --with-float=soft"
|
||||
[[ $CARCH == "armv6h" ]] && CONFIGFLAG="--host=armv6l-unknown-linux-gnueabihf --build=armv6l-unknown-linux-gnueabihf --with-arch=armv6 --with-float=hard --with-fpu=vfp"
|
||||
|
|
82
core/gcc/Revert-eeb6872bf.patch
Normal file
82
core/gcc/Revert-eeb6872bf.patch
Normal file
|
@ -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)
|
||||
{
|
Loading…
Reference in a new issue