mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
core/gcc to 9.1.0-2
This commit is contained in:
parent
80be25e6e5
commit
d4d39c3e18
3 changed files with 114 additions and 2 deletions
|
@ -19,7 +19,7 @@ pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-go)
|
||||||
pkgver=9.1.0
|
pkgver=9.1.0
|
||||||
_majorver=${pkgver:0:1}
|
_majorver=${pkgver:0:1}
|
||||||
_islver=0.21
|
_islver=0.21
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc='The GNU Compiler Collection'
|
pkgdesc='The GNU Compiler Collection'
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
license=(GPL LGPL FDL custom)
|
license=(GPL LGPL FDL custom)
|
||||||
|
@ -32,6 +32,8 @@ source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
|
||||||
#source=(gcc::svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch
|
#source=(gcc::svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch
|
||||||
http://isl.gforge.inria.fr/isl-${_islver}.tar.xz
|
http://isl.gforge.inria.fr/isl-${_islver}.tar.xz
|
||||||
c89 c99
|
c89 c99
|
||||||
|
bz90397.patch
|
||||||
|
bz90949.patch
|
||||||
0001-ARMv5-disable-LDRD-STRD.patch)
|
0001-ARMv5-disable-LDRD-STRD.patch)
|
||||||
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
|
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
|
||||||
86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com
|
86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com
|
||||||
|
@ -42,6 +44,8 @@ sha256sums=('79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0'
|
||||||
'777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960'
|
'777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960'
|
||||||
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
|
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
|
||||||
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
|
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
|
||||||
|
'cc20d05bcc6cb35bf0944b391f0b0380af375f2a8a03ce1cd67835884bc41fac'
|
||||||
|
'c860819e730faf1621e1286ebe3a0179df6e25182b81a9ca0a3db02633982a14'
|
||||||
'31e24baa9eee826d7d77dbcf8f1a6a44c92f771e52d21677acb8d76fac7ae204')
|
'31e24baa9eee826d7d77dbcf8f1a6a44c92f771e52d21677acb8d76fac7ae204')
|
||||||
|
|
||||||
_svnrev=264010
|
_svnrev=264010
|
||||||
|
@ -70,6 +74,12 @@ prepare() {
|
||||||
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
|
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
|
||||||
cd gcc
|
cd gcc
|
||||||
|
|
||||||
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90397
|
||||||
|
patch -p0 -i "$srcdir/bz90397.patch"
|
||||||
|
|
||||||
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90949
|
||||||
|
patch -p0 -i "$srcdir/bz90949.patch"
|
||||||
|
|
||||||
# link isl for in-tree build
|
# link isl for in-tree build
|
||||||
ln -s ../isl-${_islver} isl
|
ln -s ../isl-${_islver} isl
|
||||||
|
|
||||||
|
@ -307,7 +317,7 @@ package_gcc-objc() {
|
||||||
package_gcc-go() {
|
package_gcc-go() {
|
||||||
pkgdesc='Go front-end for GCC'
|
pkgdesc='Go front-end for GCC'
|
||||||
depends=("gcc=$pkgver-$pkgrel")
|
depends=("gcc=$pkgver-$pkgrel")
|
||||||
provides=("go=1.10.1")
|
provides=("go=1.12.2")
|
||||||
conflicts=(go)
|
conflicts=(go)
|
||||||
|
|
||||||
cd gcc-build
|
cd gcc-build
|
||||||
|
|
14
core/gcc/bz90397.patch
Normal file
14
core/gcc/bz90397.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
Index: libstdc++-v3/include/std/variant
|
||||||
|
===================================================================
|
||||||
|
--- libstdc++-v3/include/std/variant (revision 271082)
|
||||||
|
+++ libstdc++-v3/include/std/variant (revision 271083)
|
||||||
|
@@ -1556,7 +1556,8 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
template<size_t _Np, typename _Vp>
|
||||||
|
- friend constexpr decltype(auto) __detail::__variant::__get(_Vp&& __v);
|
||||||
|
+ friend constexpr decltype(auto)
|
||||||
|
+ __detail::__variant::__get(_Vp&& __v) noexcept;
|
||||||
|
|
||||||
|
template<typename _Vp>
|
||||||
|
friend void* __detail::__variant::__get_storage(_Vp&& __v);
|
88
core/gcc/bz90949.patch
Normal file
88
core/gcc/bz90949.patch
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
Index: gcc/testsuite/gcc.c-torture/execute/pr90949.c
|
||||||
|
===================================================================
|
||||||
|
--- gcc/testsuite/gcc.c-torture/execute/pr90949.c (nonexistent)
|
||||||
|
+++ gcc/testsuite/gcc.c-torture/execute/pr90949.c (revision 272555)
|
||||||
|
@@ -0,0 +1,42 @@
|
||||||
|
+void __attribute__ ((noipa, noinline)) my_puts (const char *str) { }
|
||||||
|
+
|
||||||
|
+void __attribute__ ((noipa, noinline)) my_free (void *p) { }
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+struct Node
|
||||||
|
+{
|
||||||
|
+ struct Node *child;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+struct Node space[2] = { };
|
||||||
|
+
|
||||||
|
+struct Node * __attribute__ ((noipa, noinline)) my_malloc (int bytes)
|
||||||
|
+{
|
||||||
|
+ return &space[0];
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+walk (struct Node *module, int cleanup)
|
||||||
|
+{
|
||||||
|
+ if (module == 0)
|
||||||
|
+ {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ if (!cleanup)
|
||||||
|
+ {
|
||||||
|
+ my_puts ("No cleanup");
|
||||||
|
+ }
|
||||||
|
+ walk (module->child, cleanup);
|
||||||
|
+ if (cleanup)
|
||||||
|
+ {
|
||||||
|
+ my_free (module);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+main ()
|
||||||
|
+{
|
||||||
|
+ struct Node *node = my_malloc (sizeof (struct Node));
|
||||||
|
+ node->child = 0;
|
||||||
|
+ walk (node, 1);
|
||||||
|
+}
|
||||||
|
Index: gcc/tree-ssa-copy.c
|
||||||
|
===================================================================
|
||||||
|
--- gcc/tree-ssa-copy.c (revision 272554)
|
||||||
|
+++ gcc/tree-ssa-copy.c (revision 272555)
|
||||||
|
@@ -545,13 +545,12 @@
|
||||||
|
duplicate_ssa_name_ptr_info (copy_of[i].value,
|
||||||
|
SSA_NAME_PTR_INFO (var));
|
||||||
|
/* Points-to information is cfg insensitive,
|
||||||
|
- but alignment info might be cfg sensitive, if it
|
||||||
|
- e.g. is derived from VRP derived non-zero bits.
|
||||||
|
- So, do not copy alignment info if the two SSA_NAMEs
|
||||||
|
- aren't defined in the same basic block. */
|
||||||
|
+ but [E]VRP might record context sensitive alignment
|
||||||
|
+ info, non-nullness, etc. So reset context sensitive
|
||||||
|
+ info if the two SSA_NAMEs aren't defined in the same
|
||||||
|
+ basic block. */
|
||||||
|
if (var_bb != copy_of_bb)
|
||||||
|
- mark_ptr_info_alignment_unknown
|
||||||
|
- (SSA_NAME_PTR_INFO (copy_of[i].value));
|
||||||
|
+ reset_flow_sensitive_info (copy_of[i].value);
|
||||||
|
}
|
||||||
|
else if (!POINTER_TYPE_P (TREE_TYPE (var))
|
||||||
|
&& SSA_NAME_RANGE_INFO (var)
|
||||||
|
Index: gcc/tree-ssanames.c
|
||||||
|
===================================================================
|
||||||
|
--- gcc/tree-ssanames.c (revision 272554)
|
||||||
|
+++ gcc/tree-ssanames.c (revision 272555)
|
||||||
|
@@ -820,7 +820,12 @@
|
||||||
|
{
|
||||||
|
/* points-to info is not flow-sensitive. */
|
||||||
|
if (SSA_NAME_PTR_INFO (name))
|
||||||
|
- mark_ptr_info_alignment_unknown (SSA_NAME_PTR_INFO (name));
|
||||||
|
+ {
|
||||||
|
+ /* [E]VRP can derive context sensitive alignment info and
|
||||||
|
+ non-nullness properties. We must reset both. */
|
||||||
|
+ mark_ptr_info_alignment_unknown (SSA_NAME_PTR_INFO (name));
|
||||||
|
+ SSA_NAME_PTR_INFO (name)->pt.null = 1;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
SSA_NAME_RANGE_INFO (name) = NULL;
|
Loading…
Reference in a new issue