mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
core/gcc to 14.1.1+r1+g43b730b9134-1
This commit is contained in:
parent
80aa426cc6
commit
de3ec366d3
3 changed files with 46 additions and 109 deletions
|
@ -1,7 +1,7 @@
|
||||||
pkgbase = gcc
|
pkgbase = gcc
|
||||||
pkgdesc = The GNU Compiler Collection
|
pkgdesc = The GNU Compiler Collection
|
||||||
pkgver = 13.2.1
|
pkgver = 14.1.1+r1+g43b730b9134
|
||||||
pkgrel = 6
|
pkgrel = 1
|
||||||
url = https://gcc.gnu.org
|
url = https://gcc.gnu.org
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
license = GPL-3.0-with-GCC-exception
|
license = GPL-3.0-with-GCC-exception
|
||||||
|
@ -21,27 +21,26 @@ pkgbase = gcc
|
||||||
makedepends = libisl
|
makedepends = libisl
|
||||||
makedepends = libmpc
|
makedepends = libmpc
|
||||||
makedepends = python
|
makedepends = python
|
||||||
|
makedepends = rust
|
||||||
makedepends = zstd
|
makedepends = zstd
|
||||||
options = !emptydirs
|
options = !emptydirs
|
||||||
options = !lto
|
options = !lto
|
||||||
source = git+https://sourceware.org/git/gcc.git#commit=ca7d454804045a39d10a9b1f691a940aeacdf25b
|
source = git+https://sourceware.org/git/gcc.git#commit=43b730b9134af60a8f1c5b107d625f7127ff23c5
|
||||||
source = c89
|
source = c89
|
||||||
source = c99
|
source = c99
|
||||||
source = gcc-ada-repro.patch
|
source = gcc-ada-repro.patch
|
||||||
source = fix-asan-allocator-aslr.patch
|
|
||||||
validpgpkeys = F3691687D867B81B51CE07D9BBE43771487328A9
|
validpgpkeys = F3691687D867B81B51CE07D9BBE43771487328A9
|
||||||
validpgpkeys = 86CFFCA918CF3AF47147588051E8B148A9999C34
|
validpgpkeys = 86CFFCA918CF3AF47147588051E8B148A9999C34
|
||||||
validpgpkeys = 13975A70E63C361C73AE69EF6EEB81F8981C74C7
|
validpgpkeys = 13975A70E63C361C73AE69EF6EEB81F8981C74C7
|
||||||
validpgpkeys = D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62
|
validpgpkeys = D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62
|
||||||
sha256sums = 4730129b2d8bc80630bfe512e6cbe69151395be6bd2eb1967d64ca87ed8c0e09
|
sha256sums = 51024affcbc17f4ba5528ad9aad112a9b4d367d796a44b0bc59e3403a4c82ddd
|
||||||
sha256sums = de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931
|
sha256sums = de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931
|
||||||
sha256sums = 2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a
|
sha256sums = 2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a
|
||||||
sha256sums = 1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f
|
sha256sums = 1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f
|
||||||
sha256sums = 5ede1f5fec5b664428412a0849b28895be1c8d8982d3c0d246a4e95fd4730d65
|
|
||||||
|
|
||||||
pkgname = gcc
|
pkgname = gcc
|
||||||
pkgdesc = The GNU Compiler Collection - C and C++ frontends
|
pkgdesc = The GNU Compiler Collection - C and C++ frontends
|
||||||
depends = gcc-libs=13.2.1-6
|
depends = gcc-libs=14.1.1+r1+g43b730b9134-1
|
||||||
depends = binutils>=2.28
|
depends = binutils>=2.28
|
||||||
depends = libmpc
|
depends = libmpc
|
||||||
depends = zstd
|
depends = zstd
|
||||||
|
@ -80,7 +79,7 @@ pkgname = lib32-gcc-libs
|
||||||
|
|
||||||
pkgname = gcc-ada
|
pkgname = gcc-ada
|
||||||
pkgdesc = Ada front-end for GCC (GNAT)
|
pkgdesc = Ada front-end for GCC (GNAT)
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
provides = gcc-ada-multilib
|
provides = gcc-ada-multilib
|
||||||
replaces = gcc-ada-multilib
|
replaces = gcc-ada-multilib
|
||||||
|
@ -89,7 +88,7 @@ pkgname = gcc-ada
|
||||||
|
|
||||||
pkgname = gcc-d
|
pkgname = gcc-d
|
||||||
pkgdesc = D frontend for GCC
|
pkgdesc = D frontend for GCC
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
provides = gdc
|
provides = gdc
|
||||||
replaces = gdc
|
replaces = gdc
|
||||||
|
@ -97,14 +96,14 @@ pkgname = gcc-d
|
||||||
|
|
||||||
pkgname = gcc-fortran
|
pkgname = gcc-fortran
|
||||||
pkgdesc = Fortran front-end for GCC
|
pkgdesc = Fortran front-end for GCC
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
provides = gcc-fortran-multilib
|
provides = gcc-fortran-multilib
|
||||||
replaces = gcc-fortran-multilib
|
replaces = gcc-fortran-multilib
|
||||||
|
|
||||||
pkgname = gcc-go
|
pkgname = gcc-go
|
||||||
pkgdesc = Go front-end for GCC
|
pkgdesc = Go front-end for GCC
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
provides = go=1.17
|
provides = go=1.17
|
||||||
provides = gcc-go-multilib
|
provides = gcc-go-multilib
|
||||||
|
@ -113,22 +112,27 @@ pkgname = gcc-go
|
||||||
|
|
||||||
pkgname = gcc-m2
|
pkgname = gcc-m2
|
||||||
pkgdesc = Modula-2 frontend for GCC
|
pkgdesc = Modula-2 frontend for GCC
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
|
|
||||||
pkgname = gcc-objc
|
pkgname = gcc-objc
|
||||||
pkgdesc = Objective-C front-end for GCC
|
pkgdesc = Objective-C front-end for GCC
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
provides = gcc-objc-multilib
|
provides = gcc-objc-multilib
|
||||||
replaces = gcc-objc-multilib
|
replaces = gcc-objc-multilib
|
||||||
|
|
||||||
|
pkgname = gcc-rust
|
||||||
|
pkgdesc = Rust frontend for GCC
|
||||||
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
|
depends = libisl.so
|
||||||
|
|
||||||
pkgname = lto-dump
|
pkgname = lto-dump
|
||||||
pkgdesc = Dump link time optimization object files
|
pkgdesc = Dump link time optimization object files
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
|
|
||||||
pkgname = libgccjit
|
pkgname = libgccjit
|
||||||
pkgdesc = Just-In-Time Compilation with GCC backend
|
pkgdesc = Just-In-Time Compilation with GCC backend
|
||||||
depends = gcc=13.2.1-6
|
depends = gcc=14.1.1+r1+g43b730b9134-1
|
||||||
depends = libisl.so
|
depends = libisl.so
|
||||||
|
|
|
@ -13,15 +13,13 @@
|
||||||
# - disabled make check, too much stress, kills plugs :(
|
# - disabled make check, too much stress, kills plugs :(
|
||||||
# - specifid build host, disabled distcc
|
# - specifid build host, disabled distcc
|
||||||
# - replaced bugurl with our GitHub issue page
|
# - replaced bugurl with our GitHub issue page
|
||||||
# - upstream patch to fix bctoolbox FTBFS
|
|
||||||
|
|
||||||
noautobuild=1
|
noautobuild=1
|
||||||
|
|
||||||
pkgname=(gcc gcc-libs gcc-d gcc-fortran gcc-go gcc-m2 gcc-objc lto-dump libgccjit)
|
pkgname=(gcc gcc-libs gcc-d gcc-fortran gcc-go gcc-m2 gcc-objc gcc-rust lto-dump libgccjit)
|
||||||
pkgver=13.2.1
|
pkgver=14.1.1+r1+g43b730b9134
|
||||||
_majorver=${pkgver%%.*}
|
_commit=43b730b9134af60a8f1c5b107d625f7127ff23c5
|
||||||
_commit=ca7d454804045a39d10a9b1f691a940aeacdf25b
|
pkgrel=1
|
||||||
pkgrel=6
|
|
||||||
pkgdesc='The GNU Compiler Collection'
|
pkgdesc='The GNU Compiler Collection'
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
license=(GPL-3.0-with-GCC-exception GFDL-1.3-or-later)
|
license=(GPL-3.0-with-GCC-exception GFDL-1.3-or-later)
|
||||||
|
@ -36,6 +34,7 @@ makedepends=(
|
||||||
libisl
|
libisl
|
||||||
libmpc
|
libmpc
|
||||||
python
|
python
|
||||||
|
rust
|
||||||
zstd
|
zstd
|
||||||
)
|
)
|
||||||
checkdepends=(
|
checkdepends=(
|
||||||
|
@ -50,19 +49,20 @@ _libdir=usr/lib/gcc/$CHOST/${pkgver%%+*}
|
||||||
source=(git+https://sourceware.org/git/gcc.git#commit=${_commit}
|
source=(git+https://sourceware.org/git/gcc.git#commit=${_commit}
|
||||||
c89 c99
|
c89 c99
|
||||||
gcc-ada-repro.patch
|
gcc-ada-repro.patch
|
||||||
fix-asan-allocator-aslr.patch
|
|
||||||
844a5c8ca.patch::'https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=844a5c8ca768dc0cc90c1a943756610832d686a8'
|
|
||||||
)
|
)
|
||||||
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
|
||||||
D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek <jakub@redhat.com>
|
D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek <jakub@redhat.com>
|
||||||
sha256sums=('4730129b2d8bc80630bfe512e6cbe69151395be6bd2eb1967d64ca87ed8c0e09'
|
sha256sums=('51024affcbc17f4ba5528ad9aad112a9b4d367d796a44b0bc59e3403a4c82ddd'
|
||||||
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
|
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
|
||||||
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
|
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
|
||||||
'1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f'
|
'1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f')
|
||||||
'5ede1f5fec5b664428412a0849b28895be1c8d8982d3c0d246a4e95fd4730d65'
|
|
||||||
'6dc8d32e76bc6c7c1a24ae527062ec1b4f393c9f7e0e25f6ab4acc98f622a80f')
|
pkgver() {
|
||||||
|
cd gcc
|
||||||
|
echo "$(cat gcc/BASE-VER)+$(git describe --tags | sed 's/[^-]*-[^-]*-//;s/[^-]*-/r&/;s/-/+/g;s/_/./')"
|
||||||
|
}
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
|
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
|
||||||
|
@ -80,16 +80,10 @@ prepare() {
|
||||||
# Reproducible gcc-ada
|
# Reproducible gcc-ada
|
||||||
patch -Np0 < "$srcdir/gcc-ada-repro.patch"
|
patch -Np0 < "$srcdir/gcc-ada-repro.patch"
|
||||||
|
|
||||||
# tree-optimization/105562 - avoid uninit diagnostic with better FRE
|
|
||||||
patch -Np1 < "$srcdir/844a5c8ca.patch"
|
|
||||||
|
|
||||||
# ALARM: Specify build host types, triplet patch
|
# ALARM: Specify build host types, triplet patch
|
||||||
[[ $CARCH == "armv7h" ]] && CONFIGFLAG="--host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=neon"
|
[[ $CARCH == "armv7h" ]] && CONFIGFLAG="--host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=neon"
|
||||||
[[ $CARCH == "aarch64" ]] && CONFIGFLAG="--host=aarch64-unknown-linux-gnu --build=aarch64-unknown-linux-gnu --with-arch=armv8-a --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419"
|
[[ $CARCH == "aarch64" ]] && CONFIGFLAG="--host=aarch64-unknown-linux-gnu --build=aarch64-unknown-linux-gnu --with-arch=armv8-a --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419"
|
||||||
|
|
||||||
#ASan: move allocator base to avoid conflict with high-entropy ASLR for x86-64 Linux'
|
|
||||||
patch -Np3 < "$srcdir/fix-asan-allocator-aslr.patch" -d libsanitizer/
|
|
||||||
|
|
||||||
mkdir -p "$srcdir/gcc-build"
|
mkdir -p "$srcdir/gcc-build"
|
||||||
mkdir -p "$srcdir/libgccjit-build"
|
mkdir -p "$srcdir/libgccjit-build"
|
||||||
}
|
}
|
||||||
|
@ -133,7 +127,7 @@ build() {
|
||||||
CXXFLAGS=${CXXFLAGS/-Werror=format-security/}
|
CXXFLAGS=${CXXFLAGS/-Werror=format-security/}
|
||||||
|
|
||||||
"$srcdir/gcc/configure" \
|
"$srcdir/gcc/configure" \
|
||||||
--enable-languages=c,c++,d,fortran,go,lto,m2,objc,obj-c++ \
|
--enable-languages=c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust \
|
||||||
--enable-bootstrap \
|
--enable-bootstrap \
|
||||||
"${_confflags[@]:?_confflags unset}"
|
"${_confflags[@]:?_confflags unset}"
|
||||||
|
|
||||||
|
@ -394,21 +388,20 @@ package_gcc-m2() {
|
||||||
"$pkgdir/usr/share/licenses/$pkgname/"
|
"$pkgdir/usr/share/licenses/$pkgname/"
|
||||||
}
|
}
|
||||||
|
|
||||||
#package_gcc-rust() {
|
package_gcc-rust() {
|
||||||
# pkgdesc="Rust frontend for GCC"
|
pkgdesc="Rust frontend for GCC"
|
||||||
# depends=("gcc=$pkgver-$pkgrel" libisl.so)
|
depends=("gcc=$pkgver-$pkgrel" libisl.so)
|
||||||
#
|
|
||||||
# cd gcc-build
|
cd gcc-build
|
||||||
# make -C gcc DESTDIR="$pkgdir" rust.install-{common,man,info}
|
make -C gcc DESTDIR="$pkgdir" rust.install-{common,man,info}
|
||||||
#
|
|
||||||
# install -Dm755 gcc/gccrs "$pkgdir"/usr/bin/gccrs
|
install -Dm755 gcc/gccrs "$pkgdir"/usr/bin/gccrs
|
||||||
# install -Dm755 gcc/rust1 "$pkgdir"/"$_libdir"/rust1
|
|
||||||
#
|
# Install Runtime Library Exception
|
||||||
# # Install Runtime Library Exception
|
install -d "$pkgdir/usr/share/licenses/$pkgname/"
|
||||||
# install -d "$pkgdir/usr/share/licenses/$pkgname/"
|
ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
|
||||||
# ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
|
"$pkgdir/usr/share/licenses/$pkgname/"
|
||||||
# "$pkgdir/usr/share/licenses/$pkgname/"
|
}
|
||||||
#}
|
|
||||||
|
|
||||||
package_lto-dump() {
|
package_lto-dump() {
|
||||||
pkgdesc="Dump link time optimization object files"
|
pkgdesc="Dump link time optimization object files"
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
From fb77ca05ffb4f8e666878f2f6718a9fb4d686839 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thurston Dang <thurston@google.com>
|
|
||||||
Date: Thu, 13 Apr 2023 23:55:01 +0000
|
|
||||||
Subject: [PATCH] Re-land 'ASan: move allocator base to avoid conflict with
|
|
||||||
high-entropy ASLR for x86-64 Linux'
|
|
||||||
|
|
||||||
D147984 was reverted because it broke lit tests on Mac. This revision is based on D147984
|
|
||||||
but maintains the old behavior for Apple.
|
|
||||||
|
|
||||||
Note that, per the follow-up discussion with MaskRay in D147984, this patch excludes Apple
|
|
||||||
but includes other platforms (e.g., aarch64, MIPS64) and OSes (e.g., FreeBSD, S390X), not just
|
|
||||||
x86-64 Linux.
|
|
||||||
|
|
||||||
Original commit message from D147984:
|
|
||||||
|
|
||||||
Users have discovered [*] that when CONFIG_ARCH_MMAP_RND_BITS == 32,
|
|
||||||
it will frequently conflict with ASan's allocator on x86-64 Linux, because the
|
|
||||||
PIE program segment base address of 0x555555555554 plus an ASLR shift of up to
|
|
||||||
((2**32) * 4K == 0x100000000000) will sometimes exceed ASan's hardcoded
|
|
||||||
base address of 0x600000000000. We fix this by simply moving the allocator base
|
|
||||||
to 0x500000000000, which is below the PIE program segment base address. This is
|
|
||||||
cleaner than trying to move it to another location that is sandwiched between
|
|
||||||
the PIE program and library segments, because if either of those grow too large,
|
|
||||||
it will collide with the allocator region.
|
|
||||||
|
|
||||||
Note that we will never need to change this base address again (unless we want to increase
|
|
||||||
the size of the allocator), because ASLR cannot be set above 32-bits for x86-64 Linux (the
|
|
||||||
PIE program segment and library segments would collide with each other; see also
|
|
||||||
ARCH_MMAP_RND_BITS_MAX in https://github.com/torvalds/linux/blob/master/arch/x86/Kconfig).
|
|
||||||
|
|
||||||
[*] see https://b.corp.google.com/issues/276925478
|
|
||||||
and https://groups.google.com/a/google.com/g/chrome-os-gardeners/c/BbfzCP3dEeo/m/h3C_vVUxCQAJ
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D148280
|
|
||||||
---
|
|
||||||
compiler-rt/lib/asan/asan_allocator.h | 8 ++++++--
|
|
||||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/compiler-rt/lib/asan/asan_allocator.h b/compiler-rt/lib/asan/asan_allocator.h
|
|
||||||
index 0b4dbf03bb9d5..6a12a6c602528 100644
|
|
||||||
--- a/compiler-rt/lib/asan/asan_allocator.h
|
|
||||||
+++ b/compiler-rt/lib/asan/asan_allocator.h
|
|
||||||
@@ -143,11 +143,15 @@ typedef DefaultSizeClassMap SizeClassMap;
|
|
||||||
const uptr kAllocatorSpace = ~(uptr)0;
|
|
||||||
const uptr kAllocatorSize = 0x8000000000ULL; // 500G
|
|
||||||
typedef DefaultSizeClassMap SizeClassMap;
|
|
||||||
-# else
|
|
||||||
+# elif SANITIZER_APPLE
|
|
||||||
const uptr kAllocatorSpace = 0x600000000000ULL;
|
|
||||||
const uptr kAllocatorSize = 0x40000000000ULL; // 4T.
|
|
||||||
typedef DefaultSizeClassMap SizeClassMap;
|
|
||||||
-# endif
|
|
||||||
+# else
|
|
||||||
+const uptr kAllocatorSpace = 0x500000000000ULL;
|
|
||||||
+const uptr kAllocatorSize = 0x40000000000ULL; // 4T.
|
|
||||||
+typedef DefaultSizeClassMap SizeClassMap;
|
|
||||||
+# endif
|
|
||||||
template <typename AddressSpaceViewTy>
|
|
||||||
struct AP64 { // Allocator64 parameters. Deliberately using a short name.
|
|
||||||
static const uptr kSpaceBeg = kAllocatorSpace;
|
|
Loading…
Reference in a new issue