diff options
author | muhviehstah | 2017-12-31 07:40:17 +0100 |
---|---|---|
committer | muhviehstah | 2017-12-31 07:40:17 +0100 |
commit | 489c248582e76176024cc5e7b76457bf2f5d7f74 (patch) | |
tree | 4b5715265936fb9ac7025fe5fb68c945bd2b2684 | |
parent | 765375b8a758c3667deb4224ecb1369db636089f (diff) | |
download | aur-489c248582e76176024cc5e7b76457bf2f5d7f74.tar.gz |
new flags and patch
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | 0400-enable-with-multilib-list-for-arm.patch | 215 | ||||
-rwxr-xr-x | PKGBUILD | 37 |
3 files changed, 247 insertions, 22 deletions
@@ -1,6 +1,6 @@ pkgbase = arm-none-eabi-gcc60-linaro pkgdesc = The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target. - pkgver = 6.3_2017.06 + pkgver = 6.4_2017.11 pkgrel = 1 url = https://releases.linaro.org/ arch = i686 @@ -8,30 +8,33 @@ pkgbase = arm-none-eabi-gcc60-linaro groups = arm-none-eabi-toolchain license = GPL license = LGPL + makedepends = gcc-ada + makedepends = expect makedepends = flex makedepends = bison - depends = arm-none-eabi-binutils>=2.26-1 + depends = arm-none-eabi-linaro-binutils + depends = isl + depends = mpc depends = gmp depends = cloog depends = arm-none-eabi-newlib-linaro-git depends = mpfr depends = libmpc - provides = arm-none-eabi-gcc - conflicts = arm-none-eabi-gcc - conflicts = cross-arm-none-eabi-gcc options = staticlibs options = !libtool options = !emptydirs options = !strip options = zipman options = docs - source = http://snapshots.linaro.org/components/toolchain/gcc-linaro/6.3-2017.06/gcc-linaro-snapshot-6.3-2017.06.tar.xz + source = http://snapshots.linaro.org/components/toolchain/gcc-linaro/6.4-2017.11/gcc-linaro-snapshot-6.4-2017.11.tar.xz source = 0200-gcc-no-exceptions.patch source = 0300-gcc-multilib2.patch + source = 0400-enable-with-multilib-list-for-arm.patch source = 1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch - sha256sums = 173ed3dc04260875cfdad203906532521401a621670c58b7c191e14850a60824 + sha256sums = bf2e8ad02196c2117d59aeebf3ba1b5b42beb4381c8bd0c27882e8c93d4a5edf sha256sums = 76eab14830216c774291d2ac35d4b4690f3273aa8c630a2c1546f02538847d8a sha256sums = c9b6bc1dd53f9b4b80f5fdacdef94c9fce0e516c16fb78063107b66ba2e9fdd1 + sha256sums = 9447a8fd40d7c1e238b8e9790b739492de5feaa489d61f4ecdab863e5ea1975a sha256sums = fa08269d6a748631b07b55a5fe00fa518b2f6e04356a3d6634c60f3c3ece3b07 pkgname = arm-none-eabi-gcc60-linaro diff --git a/0400-enable-with-multilib-list-for-arm.patch b/0400-enable-with-multilib-list-for-arm.patch new file mode 100644 index 000000000000..8825c30ca1bc --- /dev/null +++ b/0400-enable-with-multilib-list-for-arm.patch @@ -0,0 +1,215 @@ +commit 71587241301d28b68bbe2f41c5eb2856053c750c +Author: Anatol Pomozov <anatol.pomozov@gmail.com> +Date: Tue May 9 21:19:27 2017 -0700 + + ARM patch https://gcc.gnu.org/ml/gcc-patches/2012-05/msg00083/enable-with-multilib-list-for-arm.patch + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index f675e073ecc..cced5329b47 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -558,6 +558,7 @@ lang_opt_files=@lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt + lang_specs_files=@lang_specs_files@ + lang_tree_files=@lang_tree_files@ + target_cpu_default=@target_cpu_default@ ++with_multilib_list=@with_multilib_list@ + OBJC_BOEHM_GC=@objc_boehm_gc@ + extra_modes_file=@extra_modes_file@ + extra_opt_files=@extra_opt_files@ +diff --git a/gcc/config.gcc b/gcc/config.gcc +index b8bb4d65825..713e35b62af 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -1140,7 +1140,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*) + case ${target} in + arm*-*-eabi*) + tm_file="$tm_file newlib-stdint.h" +- tmake_file="${tmake_file} arm/t-bpabi" ++ tmake_file="${tmake_file} arm/t-bpabi arm/t-mlibs" + use_gcc_stdint=wrap + ;; + arm*-*-fuchsia*) +@@ -3787,56 +3787,6 @@ case "${target}" in + echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2 + exit 1 + fi +- +- # Add extra multilibs +- if test "x$with_multilib_list" != x; then +- arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'` +- case ${arm_multilibs} in +- aprofile) +- # Note that arm/t-aprofile is a +- # stand-alone make file fragment to be +- # used only with itself. We do not +- # specifically use the +- # TM_MULTILIB_OPTION framework because +- # this shorthand is more +- # pragmatic. +- tmake_profile_file="arm/t-aprofile" +- ;; +- rmprofile) +- # Note that arm/t-rmprofile is a +- # stand-alone make file fragment to be +- # used only with itself. We do not +- # specifically use the +- # TM_MULTILIB_OPTION framework because +- # this shorthand is more +- # pragmatic. +- tmake_profile_file="arm/t-rmprofile" +- ;; +- default) +- ;; +- *) +- echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 +- exit 1 +- ;; +- esac +- +- if test "x${tmake_profile_file}" != x ; then +- # arm/t-aprofile and arm/t-rmprofile are only +- # designed to work without any with-cpu, +- # with-arch, with-mode, with-fpu or with-float +- # options. +- if test "x$with_arch" != x \ +- || test "x$with_cpu" != x \ +- || test "x$with_float" != x \ +- || test "x$with_fpu" != x \ +- || test "x$with_mode" != x ; then +- echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2 +- exit 1 +- fi +- +- tmake_file="${tmake_file} ${tmake_profile_file}" +- fi +- fi + ;; + + fr*-*-*linux*) +diff --git a/gcc/config/arm/t-mlibs b/gcc/config/arm/t-mlibs +new file mode 100644 +index 00000000000..5720cf7503d +--- /dev/null ++++ b/gcc/config/arm/t-mlibs +@@ -0,0 +1,89 @@ ++# A set of predefined MULTILIB which can be used for different ARM targets. ++# Via the configure option --with-multilib-list, user can customize the ++# final MULTILIB implementation. ++ ++comma := , ++space := ++space += ++ ++MULTILIB_OPTIONS = mthumb/marm ++MULTILIB_DIRNAMES = thumb arm ++MULTILIB_OPTIONS += march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7 ++MULTILIB_DIRNAMES += armv6-m armv7-m armv7e-m armv7-ar ++MULTILIB_OPTIONS += mfloat-abi=softfp/mfloat-abi=hard ++MULTILIB_DIRNAMES += softfp fpu ++MULTILIB_OPTIONS += mfpu=fpv4-sp-d16/mfpu=vfpv3-d16 ++MULTILIB_DIRNAMES += fpv4-sp-d16 vfpv3-d16 ++ ++MULTILIB_MATCHES = march?armv6s-m=mcpu?cortex-m0 ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0plus ++MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m1 ++MULTILIB_MATCHES += march?armv6s-m=march?armv6-m ++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?armv7=march?armv7-r ++MULTILIB_MATCHES += march?armv7=march?armv7-a ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4 ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4f ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-r5 ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-r7 ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-a5 ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-a7 ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8 ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-a9 ++MULTILIB_MATCHES += march?armv7=mcpu?cortex-a15 ++MULTILIB_MATCHES += mfpu?fpv4-sp-d16=mfpu?fpv5-sp-d16 ++MULTILIB_MATCHES += mfpu?fpv4-sp-d16=mfpu?fpv5-d16 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3-fp16 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3-d16-fp16 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3xd ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3xd-fp16 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv4 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv4-d16 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?neon ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?neon-fp16 ++MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?neon-vfpv4 ++ ++MULTILIB_EXCEPTIONS = ++MULTILIB_REUSE = ++ ++MULTILIB_REQUIRED = mthumb ++MULTILIB_REQUIRED += marm ++MULTILIB_REQUIRED += mfloat-abi=hard ++ ++MULTILIB_OSDIRNAMES = mthumb=!thumb ++MULTILIB_OSDIRNAMES += marm=!arm ++MULTILIB_OSDIRNAMES += mfloat-abi.hard=!fpu ++ ++ifneq (,$(findstring armv6-m,$(subst $(comma),$(space),$(with_multilib_list)))) ++MULTILIB_REQUIRED += mthumb/march=armv6s-m ++MULTILIB_OSDIRNAMES += mthumb/march.armv6s-m=!armv6-m ++endif ++ ++ifneq (,$(findstring armv7-m,$(subst $(comma),$(space),$(with_multilib_list)))) ++MULTILIB_REQUIRED += mthumb/march=armv7-m ++MULTILIB_OSDIRNAMES += mthumb/march.armv7-m=!armv7-m ++endif ++ ++ifneq (,$(findstring armv7e-m,$(subst $(comma),$(space),$(with_multilib_list)))) ++MULTILIB_REQUIRED += mthumb/march=armv7e-m ++MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfloat-abi=softfp/mfpu=fpv4-sp-d16 ++MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfloat-abi=hard/mfpu=fpv4-sp-d16 ++MULTILIB_OSDIRNAMES += mthumb/march.armv7e-m=!armv7e-m ++MULTILIB_OSDIRNAMES += mthumb/march.armv7e-m/mfloat-abi.hard/mfpu.fpv4-sp-d16=!armv7e-m/fpu ++MULTILIB_OSDIRNAMES += mthumb/march.armv7e-m/mfloat-abi.softfp/mfpu.fpv4-sp-d16=!armv7e-m/softfp ++endif ++ ++ifneq (,$(filter armv7 armv7-r armv7-a,$(subst $(comma),$(space),$(with_multilib_list)))) ++MULTILIB_REQUIRED += mthumb/march=armv7 ++MULTILIB_REQUIRED += mthumb/march=armv7/mfloat-abi=softfp/mfpu=vfpv3-d16 ++MULTILIB_REQUIRED += mthumb/march=armv7/mfloat-abi=hard/mfpu=vfpv3-d16 ++MULTILIB_OSDIRNAMES += mthumb/march.armv7=!armv7-ar/thumb ++MULTILIB_OSDIRNAMES += mthumb/march.armv7/mfloat-abi.hard/mfpu.vfpv3-d16=!armv7-ar/thumb/fpu ++MULTILIB_OSDIRNAMES += mthumb/march.armv7/mfloat-abi.softfp/mfpu.vfpv3-d16=!armv7-ar/thumb/softfp ++MULTILIB_REUSE += mthumb/march.armv7=marm/march.armv7 ++MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.softfp/mfpu.vfpv3-d16=marm/march.armv7/mfloat-abi.softfp/mfpu.vfpv3-d16 ++MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.hard/mfpu.vfpv3-d16=marm/march.armv7/mfloat-abi.hard/mfpu.vfpv3-d16 ++endif +diff --git a/gcc/configure b/gcc/configure +index ea73b151a4e..c609f25e50c 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -772,6 +772,7 @@ SET_MAKE + accel_dir_suffix + real_target_noncanonical + enable_as_accelerator ++with_multilib_list + REPORT_BUGS_TEXI + REPORT_BUGS_TO + PKGVERSION +@@ -7763,6 +7764,7 @@ else + fi + + ++ + # ------------------------- + # Checks for other programs + # ------------------------- +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 9d4c792a33f..abd988eb113 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1007,6 +1007,7 @@ AC_ARG_WITH(multilib-list, + [AS_HELP_STRING([--with-multilib-list], [select multilibs (AArch64, SH and x86-64 only)])], + :, + with_multilib_list=default) ++AC_SUBST(with_multilib_list) + + # ------------------------- + # Checks for other programs @@ -1,35 +1,37 @@ -# Maintainer: Johnny Halfmoon <jhalfmoon@milksnot.com> +# Maintainer: Timo Sarawinski <t.sarawinski@gmail.com> # Latest sources are at http://snapshots.linaro.org/components/toolchain/gcc-linaro/ pkgname=arm-none-eabi-gcc60-linaro -_relver=snapshot-6.3 -_relshortdate=17.06 +_relver=snapshot-6.4 +_relshortdate=17.11 _reldate=20${_relshortdate} _relverdate=${_relver}-${_reldate} # This is how I want to define the pkgver, but the AUR doesn't understand it, because multiple _ characters are not allowed #pkgver=${_relver}_${_reldate//-/_} -pkgver=6.3_2017.06 -_pkgver=6.3-2017.06 +pkgver=6.4_2017.11 +_pkgver=6.4-2017.11 pkgrel=1 pkgdesc="The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target." arch=(i686 x86_64) url="https://releases.linaro.org/" license=('GPL' 'LGPL') groups=('arm-none-eabi-toolchain') -depends=('arm-none-eabi-binutils>=2.26-1' 'gmp' 'cloog' 'arm-none-eabi-newlib-linaro-git' 'mpfr' 'libmpc') -makedepends=('flex' 'bison') -provides=('arm-none-eabi-gcc') -conflicts=('arm-none-eabi-gcc' 'cross-arm-none-eabi-gcc') +depends=('arm-none-eabi-linaro-binutils' 'isl' 'mpc' 'gmp' 'cloog' 'arm-none-eabi-newlib-linaro-git' 'mpfr' 'libmpc') +makedepends=('gcc-ada' 'expect' 'flex' 'bison') +#provides=('arm-none-eabi-gcc') +#conflicts=('arm-none-eabi-gcc' 'cross-arm-none-eabi-gcc') options=(staticlibs !libtool !emptydirs !strip zipman docs) source=(http://snapshots.linaro.org/components/toolchain/gcc-linaro/${_pkgver}/gcc-linaro-${_relverdate}.tar.xz 0200-gcc-no-exceptions.patch 0300-gcc-multilib2.patch + 0400-enable-with-multilib-list-for-arm.patch 1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch) _basedir=gcc-linaro-${_relverdate} -sha256sums=('173ed3dc04260875cfdad203906532521401a621670c58b7c191e14850a60824' +sha256sums=('bf2e8ad02196c2117d59aeebf3ba1b5b42beb4381c8bd0c27882e8c93d4a5edf' '76eab14830216c774291d2ac35d4b4690f3273aa8c630a2c1546f02538847d8a' 'c9b6bc1dd53f9b4b80f5fdacdef94c9fce0e516c16fb78063107b66ba2e9fdd1' + '9447a8fd40d7c1e238b8e9790b739492de5feaa489d61f4ecdab863e5ea1975a' 'fa08269d6a748631b07b55a5fe00fa518b2f6e04356a3d6634c60f3c3ece3b07') build() { @@ -50,27 +52,32 @@ cd ${srcdir}/${_basedir} --target=arm-none-eabi\ --prefix=/usr \ --libexecdir=/usr/lib \ - --datarootdir=/usr/share/arm-none-eabi-gcc \ + --datarootdir=/usr/share/arm-none-eabi-gcc-6 \ --enable-multilib \ --enable-languages=c,c++ \ --enable-interwork \ + --program-suffix=-6 \ + --enable-vtable-verify \ --with-newlib \ --with-gnu-as \ --with-gnu-ld \ --with-system-zlib \ --disable-nls \ - --disable-isl-version-check \ --disable-shared \ --enable-threads \ --enable-lto \ --disable-libssp \ --disable-libstdcxx-pch \ --disable-libstdc__-v3 \ - --enable-silent-rules + --disable-libmudflap \ + --disable-libgomp \ + --enable-gold \ + --enable-silent-rules \ + --with-headers=/usr/arm-none-eabi/include \ + --disable-newlib-supplied-syscalls make } -# --disable-libmudflap \ -# --disable-libgomp \ + package() { cd ${srcdir}/${_basedir}/build make -j1 DESTDIR=${pkgdir} install |