X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail.ovgu.de (mail.ovgu.de [141.44.1.66]) by lists.alpinelinux.org (Postfix) with ESMTP id AFE455C5EDA for ; Mon, 28 May 2018 16:49:35 +0000 (GMT) Received: from mail.ovgu.de (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 74DA640068 for ; Mon, 28 May 2018 18:49:34 +0200 (CEST) Received: from localhost.localdomain (port-92-195-111-72.dynamic.qsc.de [92.195.111.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.ovgu.de (Postfix) with ESMTPSA id A16DA40060; Mon, 28 May 2018 18:49:33 +0200 (CEST) From: Marian Buschsieweke To: alpine-aports@lists.alpinelinux.org Cc: Marian Buschsieweke Subject: [alpine-aports] [PATCH 2/3] testing/gcc-arm-none-eabi: New aport Date: Mon, 28 May 2018 18:49:29 +0200 Message-Id: <20180528164930.20411-2-marian.buschsieweke@ovgu.de> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528164930.20411-1-marian.buschsieweke@ovgu.de> References: <20180528164930.20411-1-marian.buschsieweke@ovgu.de> X-PMX-Version: 6.4.3.2751440, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2018.5.28.164216, AntiVirus-Engine: 5.50.0, AntiVirus-Data: 2018.5.28.5500000 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' IN_TLD 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODY_SIZE_10000_PLUS 0, IN_REP_TO 0, LEGITIMATE_SIGNS 0, MSG_THREAD 0, MULTIPLE_REAL_RCPTS 0, NO_URI_HTTPS 0, RDNS_GENERIC_POOLED 0, RDNS_SUSP 0, RDNS_SUSP_GENERIC 0, REFERENCES 0, __ANY_URI 0, __C230066_P5 0, __CC_NAME 0, __CC_NAME_DIFF_FROM_ACC 0, __CC_REAL_NAMES 0, __CP_URI_IN_BODY 0, __FRAUD_MONEY_CURRENCY 0, __FRAUD_MONEY_CURRENCY_DOLLAR 0, __FROM_DOMAIN_IN_ANY_CC1 0, __FROM_DOMAIN_IN_RCPT 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MIME_TEXT_P 0, __MIME_TEXT_P1 0, __MULTIPLE_URI_TEXT 0, __NO_HTML_TAG_RAW 0, __REFERENCES 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_IN_BODY 0, __URI_NOT_IMG 0, __URI_NO_PATH 0, __URI_NO_WWW 0, __URI_NS , __URI_WITHOUT_PATH 0' X-Spam-Score: Gauge=IIIIIIII X-PMX-consideredAsSpam: no X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: The GNU Compiler Collection for embedded ARM targets http://gcc.gnu.org This packet is heavily inspired by the Ubuntu package, as this one of the very few tool chains for embedded ARM that reliably works. --- .../0001-gcc-gfdl-build.patch | 38 +++++++++ .../0002-add-big-endian-support.patch | 28 +++++++ .../gcc-arm-none-eabi/0003-remove-armv8.patch | 74 +++++++++++++++++ testing/gcc-arm-none-eabi/APKBUILD | 83 +++++++++++++++++++ 4 files changed, 223 insertions(+) create mode 100644 testing/gcc-arm-none-eabi/0001-gcc-gfdl-build.patch create mode 100644 testing/gcc-arm-none-eabi/0002-add-big-endian-support.patch create mode 100644 testing/gcc-arm-none-eabi/0003-remove-armv8.patch create mode 100644 testing/gcc-arm-none-eabi/APKBUILD diff --git a/testing/gcc-arm-none-eabi/0001-gcc-gfdl-build.patch b/testing/gcc-arm-none-eabi/0001-gcc-gfdl-build.patch new file mode 100644 index 0000000000..811f9a96c3 --- /dev/null +++ b/testing/gcc-arm-none-eabi/0001-gcc-gfdl-build.patch @@ -0,0 +1,38 @@ +# DP: Build a dummy s-tm-texi without access to the texinfo sources +# This patch was taken from gcc debian package + +--- src/gcc/Makefile.in ++++ src/gcc/Makefile.in +@@ -2314,30 +2314,8 @@ + # \r is not portable to Solaris tr, therefore we have a special + # case for ASCII. We use \r for other encodings like EBCDIC. + s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in +- $(RUN_GEN) build/genhooks$(build_exeext) -d \ +- $(srcdir)/doc/tm.texi.in > tmp-tm.texi +- case `echo X|tr X '\101'` in \ +- A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \ +- *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \ +- esac +- mv tmp2-tm.texi tmp-tm.texi +- $(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi +- @if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \ +- $(STAMP) $@; \ +- elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \ +- && ( test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/c-family/c-target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/common/common-target.def \ +- ); then \ +- echo >&2 ; \ +- echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \ +- false; \ +- else \ +- echo >&2 ; \ +- echo Verify that you have permission to grant a GFDL license for all >&2 ; \ +- echo new text in tm.texi, then copy it to $(srcdir)/doc/tm.texi. >&2 ; \ +- false; \ +- fi ++ cat $(srcdir)/doc/tm.texi.in > tmp-tm.texi ++ $(STAMP) $@ + + gimple-match.c: s-match gimple-match-head.c ; @true + generic-match.c: s-match generic-match-head.c ; @true diff --git a/testing/gcc-arm-none-eabi/0002-add-big-endian-support.patch b/testing/gcc-arm-none-eabi/0002-add-big-endian-support.patch new file mode 100644 index 0000000000..01357ee890 --- /dev/null +++ b/testing/gcc-arm-none-eabi/0002-add-big-endian-support.patch @@ -0,0 +1,28 @@ +--- src/gcc/config/arm/t-rmprofile ++++ src/gcc/config/arm/t-rmprofile +@@ -52,6 +52,8 @@ + MULTILIB_OPTIONS += mfloat-abi=softfp/mfloat-abi=hard + MULTILIB_DIRNAMES += softfp hard + ++MULTILIB_OPTIONS += mlittle-endian/mbig-endian ++MULTILIB_DIRNAMES += le be + + # Option combinations to build library with + +@@ -87,6 +89,8 @@ + MULTILIB_REQUIRED += mthumb/march=armv7/mfpu=vfpv3-d16/mfloat-abi=softfp + MULTILIB_REQUIRED += mthumb/march=armv7/mfpu=vfpv3-d16/mfloat-abi=hard + ++# ARMv7-R big endian ++MULTILIB_REQUIRED += mthumb/march=armv7/mfpu=vfpv3-d16/mfloat-abi=hard/mbig-endian + + # Matches + +@@ -168,6 +172,7 @@ + MULTILIB_REUSE += mthumb/march.armv7=march.armv7 + MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.softfp=march.armv7/mfpu.vfpv3-d16/mfloat-abi.softfp + MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.hard=march.armv7/mfpu.vfpv3-d16/mfloat-abi.hard ++MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.hard/mbig-endian=march.armv7/mfpu.vfpv3-d16/mfloat-abi.hard/mbig-endian + MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.softfp=march.armv7/mfpu.fpv5-d16/mfloat-abi.softfp + MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.hard=march.armv7/mfpu.fpv5-d16/mfloat-abi.hard + MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.softfp=mthumb/march.armv7/mfpu.fpv5-d16/mfloat-abi.softfp diff --git a/testing/gcc-arm-none-eabi/0003-remove-armv8.patch b/testing/gcc-arm-none-eabi/0003-remove-armv8.patch new file mode 100644 index 0000000000..247204cb9e --- /dev/null +++ b/testing/gcc-arm-none-eabi/0003-remove-armv8.patch @@ -0,0 +1,74 @@ +--- src/gcc/config/arm/t-rmprofile ++++ src/gcc/config/arm/t-rmprofile +@@ -43,8 +43,8 @@ + MULTILIB_OPTIONS += mthumb + MULTILIB_DIRNAMES += thumb + +-MULTILIB_OPTIONS += march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7/march=armv8-m.base/march=armv8-m.main +-MULTILIB_DIRNAMES += v6-m v7-m v7e-m v7-ar v8-m.base v8-m.main ++MULTILIB_OPTIONS += march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7 ++MULTILIB_DIRNAMES += v6-m v7-m v7e-m v7-ar + + MULTILIB_OPTIONS += mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-sp-d16/mfpu=fpv5-d16 + MULTILIB_DIRNAMES += fpv3 fpv4-sp fpv5-sp fpv5 +@@ -64,9 +64,6 @@ + # ARMv6-M + MULTILIB_REQUIRED += mthumb/march=armv6s-m + +-# ARMv8-M Baseline +-MULTILIB_REQUIRED += mthumb/march=armv8-m.base +- + # ARMv7-M + MULTILIB_REQUIRED += mthumb/march=armv7-m + +@@ -77,13 +74,6 @@ + MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv5-d16/mfloat-abi=softfp + MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv5-d16/mfloat-abi=hard + +-# ARMv8-M Mainline +-MULTILIB_REQUIRED += mthumb/march=armv8-m.main +-MULTILIB_REQUIRED += mthumb/march=armv8-m.main/mfpu=fpv5-d16/mfloat-abi=softfp +-MULTILIB_REQUIRED += mthumb/march=armv8-m.main/mfpu=fpv5-d16/mfloat-abi=hard +-MULTILIB_REQUIRED += mthumb/march=armv8-m.main/mfpu=fpv5-sp-d16/mfloat-abi=softfp +-MULTILIB_REQUIRED += mthumb/march=armv8-m.main/mfpu=fpv5-sp-d16/mfloat-abi=hard +- + # ARMv7-R as well as ARMv7-A and ARMv8-A if aprofile was not specified + MULTILIB_REQUIRED += mthumb/march=armv7 + MULTILIB_REQUIRED += mthumb/march=armv7/mfpu=vfpv3-d16/mfloat-abi=softfp +@@ -106,8 +96,6 @@ + MULTILIB_MATCHES += march?armv7-m=mcpu?cortex-m3 + MULTILIB_MATCHES += march?armv7e-m=mcpu?cortex-m4 + MULTILIB_MATCHES += march?armv7e-m=mcpu?cortex-m7 +-MULTILIB_MATCHES += march?armv8-m.base=mcpu?cortex-m23 +-MULTILIB_MATCHES += march?armv8-m.main=mcpu?cortex-m33 + MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4 + MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4f + MULTILIB_MATCHES += march?armv7=mcpu?cortex-r5 +@@ -140,17 +128,10 @@ + + # Arch Matches + MULTILIB_MATCHES += march?armv6s-m=march?armv6-m +-MULTILIB_MATCHES += march?armv8-m.main=march?armv8-m.main+dsp + MULTILIB_MATCHES += march?armv7=march?armv7-r + ifeq (,$(HAS_APROFILE)) + MULTILIB_MATCHES += march?armv7=march?armv7-a + MULTILIB_MATCHES += march?armv7=march?armv7ve +-MULTILIB_MATCHES += march?armv7=march?armv8-a +-MULTILIB_MATCHES += march?armv7=march?armv8-a+crc +-MULTILIB_MATCHES += march?armv7=march?armv8.1-a +-MULTILIB_MATCHES += march?armv7=march?armv8.1-a+crc +-MULTILIB_MATCHES += march?armv7=march?armv8.2-a +-MULTILIB_MATCHES += march?armv7=march?armv8.2-a+fp16 + endif + + # FPU matches +@@ -163,9 +144,6 @@ + MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv4 + MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv4-d16 + MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?neon-vfpv4 +-MULTILIB_MATCHES += mfpu?fpv5-d16=mfpu?fp-armv8 +-MULTILIB_MATCHES += mfpu?fpv5-d16=mfpu?neon-fp-armv8 +-MULTILIB_MATCHES += mfpu?fpv5-d16=mfpu?crypto-neon-fp-armv8 + endif + + diff --git a/testing/gcc-arm-none-eabi/APKBUILD b/testing/gcc-arm-none-eabi/APKBUILD new file mode 100644 index 0000000000..b3d6ea671d --- /dev/null +++ b/testing/gcc-arm-none-eabi/APKBUILD @@ -0,0 +1,83 @@ +# Maintainer: Marian Buschsieweke +pkgname=gcc-arm-none-eabi +pkgver=6.3.1 +pkgrel=0 +pkgdesc="The GNU Compiler Collection for embedded ARM targets" +url="http://gcc.gnu.org" +depends="binutils-arm-none-eabi" +makedepends="bash flex linux-headers gmp-dev mpfr-dev mpc1-dev zlib-dev isl-dev" +arch="all" +license="GPL LGPL" +subpackages="" +_ubuntusvnrev=253039 +source="https://launchpad.net/ubuntu/+archive/primary/+files/${pkgname}_${pkgver}+svn${_ubuntusvnrev}.orig.tar.xz + 0001-gcc-gfdl-build.patch + 0002-add-big-endian-support.patch + 0003-remove-armv8.patch + " + +builddir="$srcdir/src" +_workingdir="$builddir/build" +_target="${pkgname#gcc-}" + +build() { + mkdir "$_workingdir" || return 1 + cd "$_workingdir" + + export CFLAGS_FOR_TARGET='-pipe' + export CXXFLAGS_FOR_TARGET='-pipe' + + "$builddir"/configure\ + --infodir=/deleteme/info \ + --htmldir=/deleteme/html \ + --pdfdir=/deleteme/pdf \ + --mandir=/deleteme/man \ + --enable-languages=c,c++,lto \ + --enable-multilib \ + --disable-decimal-float \ + --disable-libffi \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-libquadmath \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-nls \ + --disable-shared \ + --disable-threads \ + --disable-tls \ + --build="$CBUILD" \ + --target="$_target" \ + --with-system-zlib \ + --with-gnu-as \ + --with-gnu-ld \ + --without-included-gettext \ + --prefix=/usr \ + --disable-libstdc++-v3 \ + --host=$CHOST \ + --with-headers=no \ + --without-newlib \ + --with-multilib-list=rmprofile \ + AR_FOR_TARGET="$_target"-ar \ + AS_FOR_TARGET="$_target"-as \ + LD_FOR_TARGET="$_target"-ld \ + NM_FOR_TARGET="$_target"-nm \ + OBJDUMP_FOR_TARGET="$_target"-objdump \ + RANLIB_FOR_TARGET="$_target"-ranlib \ + READELF_FOR_TARGET="$_target"-readelf \ + STRIP_FOR_TARGET="$_target"-strip \ + || return 1 + make +} + +package() { + cd "$_workingdir" + make install DESTDIR="$pkgdir" || return 1 + rm -rf "$pkgdir"/deleteme + rm -f "$pkgdir"/usr/lib/libcc1.* + find "$pkgdir"/usr/lib -type f -name "*.a" -exec "/usr/bin/$_target-strip" --strip-debug '{}' \; +} + +sha512sums="75665bc9e442f005cfefb40263e28a65cf49523e3119336cacf6ab61bdc04ba387a35e11343b943c4eb1ba143e02cbb85fcea6e71420c491bf9e9ed77b9c0d4c gcc-arm-none-eabi_6.3.1+svn253039.orig.tar.xz +c3ce7e50187769add364981576541b2bea86bdd9d1e5c9b084cd76d89243c5d01b0038b35c3679169d7dc5ee0620201511ff875104915e03b2952dc0827d279d 0001-gcc-gfdl-build.patch +3362981b68597c82d5298d04aa1ff82352d29209db74d8109faa013a5f43744c4b625d4d2a179359cbf6007ac367a18612374499982f0a8161d2720453c86180 0002-add-big-endian-support.patch +f96f93636a933eea337853a7db933eec7c9bd446c565054594406102727b4cfeb14e878224af53445345a812aca5ffcd946a0e56f4a3885b7ce7c06b2e5d64f0 0003-remove-armv8.patch" -- 2.17.0 --- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---