aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2016-07-08 08:13:59 +0000
committerTimo Teräs <timo.teras@iki.fi>2016-07-08 08:14:39 +0000
commitdb1d2c069e66b3bf9962d76b0b48bfdcfc8d0384 (patch)
tree1a2675bc24494e67a5ab85469e01ebfa4869ecd5 /main
parent896f06e3b0b07200957d0389e2156d0ee4e099cb (diff)
main/gcc: add aarch64 support
Diffstat (limited to 'main')
-rw-r--r--main/gcc/APKBUILD18
-rw-r--r--main/gcc/gcc-pure64.patch11
-rw-r--r--main/gcc/libada-cross-shared.patch4
3 files changed, 22 insertions, 11 deletions
diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD
index edb9bffc283..2b3cc6a82b6 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -135,8 +135,7 @@ if $LANG_FORTRAN; then
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
- [ "$CHOST" = "$CTARGET" ] && subpackages="$subpackages libgnat"
- subpackages="$subpackages gcc-gnat$_cross:gnat"
+ subpackages="$subpackages libgnat gcc-gnat$_cross:gnat"
_languages="$_languages,ada"
makedepends="$makedepends gcc-gnat"
fi
@@ -239,8 +238,9 @@ build() {
cd "$_gccdir"
case "$CTARGET" in
- armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";;
+ aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv6-*-*-*eabihf) _arch_configure="--with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux";;
+ armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";;
mipsel-*-*-*) _arch_configure="--with-arch-32=mips2 --with-tune-32=mips32 --with-fp-32=32 --with-mips-plt --with-float=hard --with-abi=32";;
i486-*-*-*) _arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";;
i586-*-*-*) _arch_configure="--with-arch=i586 --with-tune=generic --enable-cld";;
@@ -634,11 +634,11 @@ feaddd681acded33c22fd92ad8819982 204-linux_libc_has_function.patch
a7836fe20d35f91ddf623e3c62a920fe 205-nopie.patch
0b0a4f54760e0e368e4113dc9bd04d7b 207-static-pie.patch
504c7dd8651c5d98229892c4cd9ea591 libgcc-always-build-gcceh.a.patch
-a56fb2cf67ae619f22e0d21f378ff704 libada-cross-shared.patch
+246aef378ea9730d9bf97bc42fd392d2 libada-cross-shared.patch
9e658e590bc51be611f39945183f6aa2 gcc-4.9-musl-fortify.patch
32c40cd9c22a01621c2b7d60ac4255a0 gcc-6.1-musl-libssp.patch
0ea0f556d4ef9c260d1353b7fd33970c boehm-gc-musl.patch
-2e2b787bb988d9007c9f7ce42178dfe6 gcc-pure64.patch
+3cb420ef6240a8b96f52fb1b479ddaab gcc-pure64.patch
1e143d6a88cdcbc4e3266b19208df0fd fix-gcj-stdgnu14-link.patch
14fc0a0b925ef911ce78cd030fe58902 fix-gcj-musl.patch
e17bbb0fe802974e20645b4182b4c410 fix-gcj-iconv-musl.patch
@@ -671,11 +671,11 @@ a5de063de487d944443901cdfa398e1614edbf2e62b7d633f78da1be222a2b05 202-posix_mema
2427b5a0e564af84c6569921a31a277d07b739a4a4d924057ce725136cc5d355 205-nopie.patch
df92e2f03615c1591278c132cd38ee0ed2c576cd942d8ea751a44d0521057e6b 207-static-pie.patch
1975189156d70f5428cb7f1516533965d1c8734f3009fc89a9b8e289b72326f1 libgcc-always-build-gcceh.a.patch
-b07b999e3d3fdeff6aa925535949cb90bc7b11546b415288e5097c8877e5e8d1 libada-cross-shared.patch
+aa3e570f9ccd9dcaadf00369ed2c4ae26ba640c49256f32aee7e631e2b836771 libada-cross-shared.patch
dc93f97dff28b872f9c7e241fb87a3eca0271f706534d196b3517781b05667fa gcc-4.9-musl-fortify.patch
4ece19529edb8e681e1778e977e2ba1d47984ccfcb82505e8b898bb29d659625 gcc-6.1-musl-libssp.patch
6ccca88695ef84c0d038cd315cad5ae5b799672ecb009fdaab34e68ba60b733c boehm-gc-musl.patch
-f5473c6aea96d5137defd68898ba31042944a3f3ed26c05b964a40bd876c6f47 gcc-pure64.patch
+0625ab76ec3f7b47364becdb9ddc66bec9215ebfbeab1d58df8e1855a1cd76bb gcc-pure64.patch
c03165e7ce812c93a33fdb0893847b4f9eb892e353d32d85b23249610fb24396 fix-gcj-stdgnu14-link.patch
22c78cc4a2658ff574e7ded1e5bc765a4f81f730d12e72d5883fe0bf73e71220 fix-gcj-musl.patch
51782c972ab828eb4ccb3ca3570341d025b2ae9a8e8fd8188cefb29c5f87401b fix-gcj-iconv-musl.patch
@@ -708,11 +708,11 @@ fc0de05b36613b732a0222ea005c90653c6a40d6761b6894af2419272f4e74875f37e26af33a9b99
98473bcaa77903a223ca9b0d2087c0921b287a2816d308cc32c8fe009e6cbf5dd1ae7fba27794ab8d9c09e117fe534413d91a464d1218474fc123ce0adfdc2c1 205-nopie.patch
cf6f9814dee8c524b13f455106e1b92ad4bcbd998bf56bdb0858d1c6c89bfaf7ee8f75514d3e7092137f06d40b8419b6a5d2434e48d2ec32a83aa9c2ced45558 207-static-pie.patch
d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2fa63850c50ae5eefd5f59e5910ec10d20044dac082182a8b libgcc-always-build-gcceh.a.patch
-e5ee0d18eb58e2624e745986ded7eb310fcda4dccca6c8fb368c6c9bdd98f0d54771fdfc3ab3315f09d1f22d400cf30d4b807afdbcd963cc9aa6cd60df2afa87 libada-cross-shared.patch
+497e73650b4e7ac1cc92158b993f543b1506d3af4f9df9cb1e9504af4db657a9fc6e4429b4cb2bf5b3c1c8c06a5cec5d8b19bc958fd57b92d7b4d5e58b34554c libada-cross-shared.patch
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
dbe0ee917fc7668571722364ab7c806731e3a31e8bfa30b4941b28b16b877d2a32b4a3897ef533399a28f82d43cac9b28e92de0493f0e779046db56584e07fa4 gcc-6.1-musl-libssp.patch
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
-4a5aeff0399782c752e6e3f2f48d984b2056dfb5d229b23a24eee1562d241339989b2203f139821cfc03c9b25c9bd7da6ccbbdc7a09d242e4de7f0d606c6f63c gcc-pure64.patch
+cd94f7be10de7511b17355dbb6b86dc70919b4a41c8aec1d7c5961820248aa00cf1594ed66fdd412c12b02a94605600530f674b32ab4cbd0ca6456968475ecbb gcc-pure64.patch
2253941f3d19b6d08801d3782f5f5ed56c3b73fbc9d3561a8f01c702963ac4fab91599c686076e7081eb6a80c37ccd33591ae978996d6eee1dc0ce0f1c50259a fix-gcj-stdgnu14-link.patch
f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d452e9579924a523bc75da6e0648c1c976d42e40af48b10343b fix-gcj-musl.patch
54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6 fix-gcj-iconv-musl.patch
diff --git a/main/gcc/gcc-pure64.patch b/main/gcc/gcc-pure64.patch
index 6ff4cdc5e93..53f882ea1b1 100644
--- a/main/gcc/gcc-pure64.patch
+++ b/main/gcc/gcc-pure64.patch
@@ -9,3 +9,14 @@
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
+--- ./gcc/config/aarch64/t-aarch64-linux.orig
++++ ./gcc/config/aarch64/t-aarch64-linux
+@@ -22,7 +22,7 @@
+ LIB1ASMFUNCS = _aarch64_sync_cache_range
+
+ AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
+-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
++MULTILIB_OSDIRNAMES = mabi.lp64=../lib
+ MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
+
+ MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
diff --git a/main/gcc/libada-cross-shared.patch b/main/gcc/libada-cross-shared.patch
index 0678f9cafef..c4e7ae01d60 100644
--- a/main/gcc/libada-cross-shared.patch
+++ b/main/gcc/libada-cross-shared.patch
@@ -5,7 +5,7 @@
# Determine what to build for 'gnatlib'
-if test $build = $target \
-+if test $host = $target \
++if true \
&& test ${enable_shared} = yes ; then
# Note that build=target is almost certainly the wrong test; FIXME
default_gnatlib_target="gnatlib-shared"
@@ -16,7 +16,7 @@
# Determine what to build for 'gnatlib'
-if test $build = $target \
-+if test $host = $target \
++if true \
&& test ${enable_shared} = yes ; then
# Note that build=target is almost certainly the wrong test; FIXME
default_gnatlib_target="gnatlib-shared"