aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc
diff options
context:
space:
mode:
authorTuan M. Hoang <tmhoang@flatglobe.org>2016-11-21 05:28:27 +0700
committerTimo Teräs <timo.teras@iki.fi>2016-11-21 08:37:19 +0000
commitf41e7533051039a224a302fafe8356548af0c543 (patch)
tree21dcace3dbd55c7d0be60cfc9233b35a31dd39ea /main/gcc
parent27318a6c19bc713cda1ec41bc044ca97e21d4db4 (diff)
downloadaports-f41e7533051039a224a302fafe8356548af0c543.tar.bz2
aports-f41e7533051039a224a302fafe8356548af0c543.tar.xz
main/gcc: add s390x support
Diffstat (limited to 'main/gcc')
-rw-r--r--main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch32
-rw-r--r--main/gcc/APKBUILD13
-rw-r--r--main/gcc/gcc-pure64.patch9
3 files changed, 51 insertions, 3 deletions
diff --git a/main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch b/main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch
new file mode 100644
index 0000000000..2419578715
--- /dev/null
+++ b/main/gcc/300-main-gcc-add-musl-s390x-dynamic-linker.patch
@@ -0,0 +1,32 @@
+From be841c16dd544553c67faac79bd4cc3cd10a1dc0 Mon Sep 17 00:00:00 2001
+From: "Tuan M. Hoang" <tmhoang@flatglobe.org>
+Date: Mon, 21 Nov 2016 01:42:16 +0700
+Subject: [PATCH] main/gcc: add musl s390x dynamic linker
+
+---
+ gcc/config/s390/linux.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
+index 1e3ed35..a244214 100644
+--- a/gcc/config/s390/linux.h
++++ b/gcc/config/s390/linux.h
+@@ -63,6 +63,15 @@ along with GCC; see the file COPYING3. If not see
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+
++#undef MUSL_DYNAMIC_LINKER
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-s390x.so.1"
++#undef MUSL_DYNAMIC_LINKER32
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-s390x.so.1"
++#undef MUSL_DYNAMIC_LINKER64
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-s390x.so.1"
++#undef MUSL_DYNAMIC_LINKERX32
++#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-s390x.so.1"
++
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --as-needed \
+--
+2.10.2
+
diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD
index f8cbbe7749..3396796f5f 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -190,6 +190,8 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgba
ada-fixes.patch
ada-shared.patch
ada-musl.patch
+
+ 300-main-gcc-add-musl-s390x-dynamic-linker.patch
"
# we build out-of-tree
@@ -242,6 +244,7 @@ build() {
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";;
+ s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
esac
case "$CTARGET_LIBC" in
@@ -623,7 +626,7 @@ db9c8f0aa9193466a62fcfaaf71f6129 207-static-pie.patch
9e658e590bc51be611f39945183f6aa2 gcc-4.9-musl-fortify.patch
32c40cd9c22a01621c2b7d60ac4255a0 gcc-6.1-musl-libssp.patch
0ea0f556d4ef9c260d1353b7fd33970c boehm-gc-musl.patch
-3cb420ef6240a8b96f52fb1b479ddaab gcc-pure64.patch
+7a058cfe7d77cdf14218b114e60e23ef gcc-pure64.patch
1e143d6a88cdcbc4e3266b19208df0fd fix-gcj-stdgnu14-link.patch
14fc0a0b925ef911ce78cd030fe58902 fix-gcj-musl.patch
e17bbb0fe802974e20645b4182b4c410 fix-gcj-iconv-musl.patch
@@ -631,6 +634,7 @@ e17bbb0fe802974e20645b4182b4c410 fix-gcj-iconv-musl.patch
4aea37d334ab00bb6bba37cd8c481367 fix-cxxflags-passing.patch
d00d7e4b0c00cb7448576af9cd7fcea8 ada-fixes.patch
20e2731c02ce50739ebdead2795f9c41 ada-shared.patch
+29d7ce72d73cb920c6d1f276a2286f40 300-main-gcc-add-musl-s390x-dynamic-linker.patch
bd2f71f7559e0aa38745ee62e5799601 ada-musl.patch"
sha256sums="9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5 gcc-6.2.0.tar.bz2
9506e75b862f782213df61af67338eb7a23c35ff425d328affc65585477d34cd ecj-4.9.jar
@@ -657,7 +661,7 @@ aa3e570f9ccd9dcaadf00369ed2c4ae26ba640c49256f32aee7e631e2b836771 libada-cross-s
dc93f97dff28b872f9c7e241fb87a3eca0271f706534d196b3517781b05667fa gcc-4.9-musl-fortify.patch
4ece19529edb8e681e1778e977e2ba1d47984ccfcb82505e8b898bb29d659625 gcc-6.1-musl-libssp.patch
6ccca88695ef84c0d038cd315cad5ae5b799672ecb009fdaab34e68ba60b733c boehm-gc-musl.patch
-0625ab76ec3f7b47364becdb9ddc66bec9215ebfbeab1d58df8e1855a1cd76bb gcc-pure64.patch
+3adae9dd208f52112e86ab1a9aa3a1f002cfe12e39179634499bc81f480cf2a9 gcc-pure64.patch
c03165e7ce812c93a33fdb0893847b4f9eb892e353d32d85b23249610fb24396 fix-gcj-stdgnu14-link.patch
22c78cc4a2658ff574e7ded1e5bc765a4f81f730d12e72d5883fe0bf73e71220 fix-gcj-musl.patch
51782c972ab828eb4ccb3ca3570341d025b2ae9a8e8fd8188cefb29c5f87401b fix-gcj-iconv-musl.patch
@@ -665,6 +669,7 @@ bd7a6f514fcc457f29e5fda157203f3bcd013aeba5d53b3459196eef3ce752ab gcc-4.8-build-
a395ba4cf047c48cac56985726fddf0948f4425c9f1a0c9ddba1812b2b3d8300 fix-cxxflags-passing.patch
d2a67a7ae0304cd10532883df19923b98dbc9b7a24957b619d4a6e04f19c5507 ada-fixes.patch
d6c7fc1820a4fa285297c299c255fe2f19ce1695486f20edd098252a97545e6a ada-shared.patch
+66b1d3c5880e0651c46f32f3a44171cc80d216d6514e75b8d7bd8fdbc565424c 300-main-gcc-add-musl-s390x-dynamic-linker.patch
f7f5aa37d27644292a90ab31afdf4be93b116507bfc39f4d9f6af047311b7d87 ada-musl.patch"
sha512sums="1e8b826a3d44b9d5899309894e20c03abeb352bf3d273b8ad63af814c0ee2911f1a83ce1cd4cdd2d1cb0b3e3c34e9b7ae1b2ab83dfc649ee817ab05247c76198 gcc-6.2.0.tar.bz2
28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226 ecj-4.9.jar
@@ -691,7 +696,7 @@ d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
dbe0ee917fc7668571722364ab7c806731e3a31e8bfa30b4941b28b16b877d2a32b4a3897ef533399a28f82d43cac9b28e92de0493f0e779046db56584e07fa4 gcc-6.1-musl-libssp.patch
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
-cd94f7be10de7511b17355dbb6b86dc70919b4a41c8aec1d7c5961820248aa00cf1594ed66fdd412c12b02a94605600530f674b32ab4cbd0ca6456968475ecbb gcc-pure64.patch
+9232f58872eecd5f994815674813211d38e1427814d8e06b139a802034ea2c42134281f4f7930b14d586e9a2009e8a22bcac6e9717441824d2cb87d99febf141 gcc-pure64.patch
2253941f3d19b6d08801d3782f5f5ed56c3b73fbc9d3561a8f01c702963ac4fab91599c686076e7081eb6a80c37ccd33591ae978996d6eee1dc0ce0f1c50259a fix-gcj-stdgnu14-link.patch
f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d452e9579924a523bc75da6e0648c1c976d42e40af48b10343b fix-gcj-musl.patch
54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6 fix-gcj-iconv-musl.patch
@@ -699,4 +704,6 @@ abe9aaf9aa956058d0386a4396a511d176a46bb3906b90e952383646cdc158cbeb0a5dc616a1ccb1
35d6d59f0b7b968f282f56767c9e0823a7bdc5aa0d450aca50fbd802649a7ca608b47671244a3faa208a9b0d6832cabb5a22724157dc817b2c0ad63d09f93282 fix-cxxflags-passing.patch
9016b257abd8fa981de44a49512e35db814d1cbb47c1a87cd31c12d4ae20b13e9e149fe41691a7ec3c95bbcfde8a79194a8d2eaf547ceade3a246fad67c47dd8 ada-fixes.patch
3f5bc334d9f73d06f5f7c876738d02356acdd08958bea0e4d2095ebf15c2c2ec4e411abdae0297505ae9a1699ca01b17338e853184e84663203b192b0d35fc19 ada-shared.patch
+4b4a0ff306a8ef34ff6e3284fbfca869012164a47ba7cb099085c1dd03e6ca0cdd462f82710e08c9a02895adc7484e4c5eef17b5aa264cf5d978fe8ad78eea93 300-main-gcc-add-musl-s390x-dynamic-linker.patch
631d4bdef6d8bde34df7978bb53ec28c3c909cf1f87139e5f148138d0f09adc58b41ecf0148bbf50fb4bc916c411e9bf8a2b6c046c75c0e77d754d8c35bcd4d7 ada-musl.patch"
+
diff --git a/main/gcc/gcc-pure64.patch b/main/gcc/gcc-pure64.patch
index 53f882ea1b..aa5b02295a 100644
--- a/main/gcc/gcc-pure64.patch
+++ b/main/gcc/gcc-pure64.patch
@@ -20,3 +20,12 @@
MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
+--- ./gcc/config/s390/t-linux64.orig
++++ ./gcc/config/s390/t-linux64
+@@ -7,5 +7,5 @@
+ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
++MULTILIB_OSDIRNAMES = m64=../lib
++MULTILIB_OSDIRNAMES+= m32=../lib32