mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
core/gcc to 10.1.0-1
This commit is contained in:
parent
57b175dee8
commit
123c23378e
4 changed files with 17 additions and 92 deletions
|
@ -16,8 +16,8 @@
|
||||||
noautobuild=1
|
noautobuild=1
|
||||||
|
|
||||||
pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-go gcc-d)
|
pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-go gcc-d)
|
||||||
pkgver=9.3.0
|
pkgver=10.1.0
|
||||||
_majorver=${pkgver:0:1}
|
_majorver=${pkgver%%.*}
|
||||||
_islver=0.21
|
_islver=0.21
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc='The GNU Compiler Collection'
|
pkgdesc='The GNU Compiler Collection'
|
||||||
|
@ -30,27 +30,23 @@ options=(!emptydirs !distcc)
|
||||||
_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*}
|
_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*}
|
||||||
# _commit=6957d3e4eef1f4243eb23ff62aea06139ef4415a
|
# _commit=6957d3e4eef1f4243eb23ff62aea06139ef4415a
|
||||||
# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit
|
# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit
|
||||||
source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
|
source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig}
|
||||||
http://isl.gforge.inria.fr/isl-${_islver}.tar.xz
|
http://isl.gforge.inria.fr/isl-${_islver}.tar.xz
|
||||||
c89 c99
|
c89 c99
|
||||||
gdc_phobos_path.patch
|
gdc_phobos_path.patch
|
||||||
gdc_artificial_decl.patch
|
|
||||||
gdc_thunk_weak_ref.patch
|
|
||||||
fs64270.patch
|
fs64270.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
|
||||||
13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
|
13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
|
||||||
33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
|
33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
|
||||||
sha256sums=('71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1'
|
sha256sums=('b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960'
|
'777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960'
|
||||||
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
|
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
|
||||||
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
|
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
|
||||||
'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308'
|
'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308'
|
||||||
'3862757491160700ac2fb723096f6f636f30320cccc6efd9537149ed348b57d1'
|
'1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee'
|
||||||
'9699d7105375754f0dcf6abff87d09b270565bfc6578a13641770f3fc62d678a'
|
|
||||||
'f45160f699501568ae9e81127562395dd95b5b4a8e4d55a1615fbb00f9e4deb2'
|
|
||||||
'ac6663528a1cbea30ed9627ef41ef13f25b3cd49c31e22b45b04aa911e6f562f')
|
'ac6663528a1cbea30ed9627ef41ef13f25b3cd49c31e22b45b04aa911e6f562f')
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
|
@ -74,8 +70,6 @@ prepare() {
|
||||||
|
|
||||||
# D hacks
|
# D hacks
|
||||||
patch -p1 -i "$srcdir/gdc_phobos_path.patch"
|
patch -p1 -i "$srcdir/gdc_phobos_path.patch"
|
||||||
patch -p1 -i "$srcdir/gdc_artificial_decl.patch"
|
|
||||||
patch -p1 -i "$srcdir/gdc_thunk_weak_ref.patch"
|
|
||||||
|
|
||||||
# Turn off SSP for nostdlib|nodefaultlibs|ffreestanding
|
# Turn off SSP for nostdlib|nodefaultlibs|ffreestanding
|
||||||
# https://bugs.archlinux.org/task/64270
|
# https://bugs.archlinux.org/task/64270
|
||||||
|
@ -108,27 +102,27 @@ build() {
|
||||||
--infodir=/usr/share/info \
|
--infodir=/usr/share/info \
|
||||||
--with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \
|
--with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \
|
||||||
--enable-languages=c,c++,fortran,go,lto,objc,obj-c++,d \
|
--enable-languages=c,c++,fortran,go,lto,objc,obj-c++,d \
|
||||||
--enable-shared \
|
|
||||||
--enable-threads=posix \
|
|
||||||
--with-system-zlib \
|
|
||||||
--with-isl \
|
--with-isl \
|
||||||
|
--with-linker-hash-style=gnu \
|
||||||
|
--with-system-zlib \
|
||||||
--enable-__cxa_atexit \
|
--enable-__cxa_atexit \
|
||||||
--disable-libunwind-exceptions \
|
--enable-checking=release \
|
||||||
--enable-clocale=gnu \
|
--enable-clocale=gnu \
|
||||||
--disable-libstdcxx-pch \
|
--enable-default-pie \
|
||||||
--disable-libssp \
|
--enable-default-ssp \
|
||||||
|
--enable-gnu-indirect-function \
|
||||||
--enable-gnu-unique-object \
|
--enable-gnu-unique-object \
|
||||||
|
--enable-install-libiberty \
|
||||||
--enable-linker-build-id \
|
--enable-linker-build-id \
|
||||||
--enable-lto \
|
--enable-lto \
|
||||||
--enable-plugin \
|
--enable-plugin \
|
||||||
--enable-install-libiberty \
|
--enable-shared \
|
||||||
--with-linker-hash-style=gnu \
|
--enable-threads=posix \
|
||||||
--enable-gnu-indirect-function \
|
--disable-libssp \
|
||||||
|
--disable-libstdcxx-pch \
|
||||||
|
--disable-libunwind-exceptions \
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
--disable-werror \
|
--disable-werror \
|
||||||
--enable-checking=release \
|
|
||||||
--enable-default-pie \
|
|
||||||
--enable-default-ssp \
|
|
||||||
$CONFIGFLAG \
|
$CONFIGFLAG \
|
||||||
gdc_include_dir=/usr/include/dlang/gdc
|
gdc_include_dir=/usr/include/dlang/gdc
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
|
Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
|
||||||
Change the buffer size.
|
|
||||||
|
|
||||||
--- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200
|
--- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200
|
||||||
+++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100
|
+++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100
|
||||||
|
@ -25,14 +24,3 @@ Change the buffer size.
|
||||||
%{coverage:-fprofile-arcs -ftest-coverage}\
|
%{coverage:-fprofile-arcs -ftest-coverage}\
|
||||||
%{fprofile-arcs|fprofile-generate*|coverage:\
|
%{fprofile-arcs|fprofile-generate*|coverage:\
|
||||||
%{!fprofile-update=singel:\
|
%{!fprofile-update=singel:\
|
||||||
--- a/gcc/params.def 2016-03-30 09:47:40.000000000 +0200
|
|
||||||
+++ b/gcc/params.def 2016-09-19 12:56:58.443179039 +0200
|
|
||||||
@@ -673,7 +673,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT,
|
|
||||||
DEFPARAM (PARAM_SSP_BUFFER_SIZE,
|
|
||||||
"ssp-buffer-size",
|
|
||||||
"The lower bound for a buffer to be considered for stack smashing protection.",
|
|
||||||
- 8, 1, 0)
|
|
||||||
+ 4, 1, 0)
|
|
||||||
|
|
||||||
DEFPARAM (PARAM_MIN_SIZE_FOR_STACK_SHARING,
|
|
||||||
"min-size-for-stack-sharing",
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
diff --git a/gcc/d/d-tree.h b/gcc/d/d-tree.h
|
|
||||||
index a514bc3902f..303d52390c2 100644
|
|
||||||
--- a/gcc/d/d-tree.h
|
|
||||||
+++ b/gcc/d/d-tree.h
|
|
||||||
@@ -600,6 +600,7 @@ extern tree d_signed_type (tree);
|
|
||||||
extern void d_keep (tree);
|
|
||||||
|
|
||||||
/* In decl.cc. */
|
|
||||||
+extern const char *mangle_decl (Dsymbol *);
|
|
||||||
extern tree mangle_internal_decl (Dsymbol *, const char *, const char *);
|
|
||||||
extern void build_decl_tree (Dsymbol *);
|
|
||||||
extern tree get_symbol_decl (Declaration *);
|
|
||||||
diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc
|
|
||||||
index 49723649230..90871b4c90b 100644
|
|
||||||
--- a/gcc/d/decl.cc
|
|
||||||
+++ b/gcc/d/decl.cc
|
|
||||||
@@ -59,7 +59,7 @@ along with GCC; see the file COPYING3. If not see
|
|
||||||
|
|
||||||
/* Return identifier for the external mangled name of DECL. */
|
|
||||||
|
|
||||||
-static const char *
|
|
||||||
+const char *
|
|
||||||
mangle_decl (Dsymbol *decl)
|
|
||||||
{
|
|
||||||
if (decl->isFuncDeclaration ())
|
|
||||||
diff --git a/gcc/d/typeinfo.cc b/gcc/d/typeinfo.cc
|
|
||||||
index bbd3961181d..a678b7938a6 100644
|
|
||||||
--- a/gcc/d/typeinfo.cc
|
|
||||||
+++ b/gcc/d/typeinfo.cc
|
|
||||||
@@ -1107,8 +1107,12 @@ public:
|
|
||||||
CONSTRUCTOR_APPEND_ELT (elms, size_int (i),
|
|
||||||
build_typeinfo (d->loc, arg->type));
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ const char *prefix = concat (GDC_PREFIX ("__tuple"),
|
|
||||||
+ mangle_decl (Module::rootModule), NULL);
|
|
||||||
+
|
|
||||||
tree ctor = build_constructor (build_ctype (satype), elms);
|
|
||||||
- tree decl = build_artificial_decl (TREE_TYPE (ctor), ctor);
|
|
||||||
+ tree decl = build_artificial_decl (TREE_TYPE (ctor), ctor, prefix);
|
|
||||||
|
|
||||||
/* The internal pointer reference should be public, but not visible outside
|
|
||||||
the compilation unit, as it's referencing COMDAT decls. */
|
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc
|
|
||||||
index 49723649230..d31f6bef8d4 100644
|
|
||||||
--- a/gcc/d/decl.cc
|
|
||||||
+++ b/gcc/d/decl.cc
|
|
||||||
@@ -1817,6 +1817,9 @@ make_thunk (FuncDeclaration *decl, int offset)
|
|
||||||
DECL_COMDAT (thunk) = DECL_COMDAT (function);
|
|
||||||
DECL_WEAK (thunk) = DECL_WEAK (function);
|
|
||||||
|
|
||||||
+ if (DECL_VISIBILITY (function) == 0)
|
|
||||||
+ DECL_WEAK (thunk) = 1;
|
|
||||||
+
|
|
||||||
tree target_name = DECL_ASSEMBLER_NAME (function);
|
|
||||||
unsigned identlen = IDENTIFIER_LENGTH (target_name) + 14;
|
|
||||||
const char *ident = XNEWVEC (const char, identlen);
|
|
Loading…
Reference in a new issue