Date: Monday, May 9, 2016 @ 22:35:08 Author: anatolik Revision: 174463
archrelease: copy trunk to community-testing-i686, community-testing-x86_64 Added: arm-none-eabi-gcc/repos/community-testing-i686/ arm-none-eabi-gcc/repos/community-testing-i686/PKGBUILD (from rev 174462, arm-none-eabi-gcc/trunk/PKGBUILD) arm-none-eabi-gcc/repos/community-testing-i686/enable-with-multilib-list-for-arm.patch (from rev 174462, arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch) arm-none-eabi-gcc/repos/community-testing-x86_64/ arm-none-eabi-gcc/repos/community-testing-x86_64/PKGBUILD (from rev 174462, arm-none-eabi-gcc/trunk/PKGBUILD) arm-none-eabi-gcc/repos/community-testing-x86_64/enable-with-multilib-list-for-arm.patch (from rev 174462, arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch) ------------------------------------------------------------------+ community-testing-i686/PKGBUILD | 127 ++++++ community-testing-i686/enable-with-multilib-list-for-arm.patch | 201 ++++++++++ community-testing-x86_64/PKGBUILD | 127 ++++++ community-testing-x86_64/enable-with-multilib-list-for-arm.patch | 201 ++++++++++ 4 files changed, 656 insertions(+) Copied: arm-none-eabi-gcc/repos/community-testing-i686/PKGBUILD (from rev 174462, arm-none-eabi-gcc/trunk/PKGBUILD) =================================================================== --- community-testing-i686/PKGBUILD (rev 0) +++ community-testing-i686/PKGBUILD 2016-05-09 20:35:08 UTC (rev 174463) @@ -0,0 +1,127 @@ +# Maintainer: Anatol Pomozov <anatol.pomo...@gmail.com> +# Contributor: Martin Schmölzer <mschmoel...@gmail.com> + +_target=arm-none-eabi +pkgname=$_target-gcc +pkgver=6.1.1 +_islver=0.17.1 +pkgrel=1 +_snapshot=6-20160505 +pkgdesc='The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target' +arch=(i686 x86_64) +url='http://gcc.gnu.org/' +license=(GPL LGPL FDL) +depends=($_target-binutils zlib libmpc) +makedepends=(gmp mpfr $_target-newlib) +optdepends=('arm-none-eabi-newlib: Standard C library optimized for embedded systems') +options=(!emptydirs !strip) +source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/snapshots/$_snapshot/gcc-$_snapshot.tar.bz2 + http://isl.gforge.inria.fr/isl-$_islver.tar.bz2 + enable-with-multilib-list-for-arm.patch) +sha256sums=('56f11990e16febe0927ec784801e56bfba7ec78cb9452dc0be252f1373431eb4' + 'd6307bf9a59514087abac3cbaab3d99393a0abb519354f7e7834a8c842310daa' + 'ee8c74097c1ff01918bda9acf9b45783fd3ba3a4c493e9e9255fa3c2130bf690') + +if [ -n "$_snapshot" ]; then + _basedir=gcc-$_snapshot +else + _basedir=gcc-$pkgver +fi + +prepare() { + cd $_basedir + + # link isl for in-tree builds + ln -s ../isl-$_islver isl + + echo $pkgver > gcc/BASE-VER + + # hack! - some configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure + + patch -p1 < $srcdir/enable-with-multilib-list-for-arm.patch + + mkdir $srcdir/build-{gcc,gcc-nano} +} + +_build_gcc() { + $srcdir/$_basedir/configure \ + --target=$_target \ + --prefix=/usr \ + --with-sysroot=/usr/$_target \ + --with-native-system-header-dir=/include \ + --libexecdir=/usr/lib \ + --enable-languages=c,c++ \ + --enable-plugins \ + --disable-decimal-float \ + --disable-libffi \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-libquadmath \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-nls \ + --disable-shared \ + --disable-threads \ + --disable-tls \ + --with-gnu-as \ + --with-gnu-ld \ + --with-system-zlib \ + --with-newlib \ + --with-headers=/usr/$_target/include \ + --with-python-dir=share/gcc-arm-none-eabi \ + --with-gmp \ + --with-mpfr \ + --with-mpc \ + --with-isl \ + --with-libelf \ + --enable-gnu-indirect-function \ + --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' \ + --with-pkgversion='Arch Repository' \ + --with-bugurl='https://bugs.archlinux.org/' \ + --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r + + make INHIBIT_LIBC_CFLAGS='-DUSE_TM_CLONE_REGISTRY=0' +} + +build() { + cd $srcdir/build-gcc + export CFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections' + export CXXFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections' + _build_gcc + + # Build libstdc++ without exceptions support (the 'nano' variant) + cd $srcdir/build-gcc-nano + export CFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections -fno-exceptions' + export CXXFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections -fno-exceptions' + _build_gcc +} + +package() { + cd $srcdir/build-gcc + make DESTDIR="$pkgdir" install -j1 + + cd $srcdir/build-gcc-nano + make DESTDIR="$pkgdir.nano" install -j1 + # we need only libstdc nano files + multilibs=( $($pkgdir/usr/bin/$_target-gcc -print-multi-lib 2>/dev/null) ) + for multilib in "${multilibs[@]}"; do + dir="${multilib%%;*}" + from_dir=$pkgdir.nano/usr/$_target/lib/$dir + to_dir=$pkgdir/usr/$_target/lib/$dir + cp -f $from_dir/libstdc++.a $to_dir/libstdc++_nano.a + cp -f $from_dir/libsupc++.a $to_dir/libsupc++_nano.a + done + + # strip target binaries + find "$pkgdir"/usr/lib/gcc/$_target/$pkgver "$pkgdir"/usr/$_target/lib -type f -and \( -name \*.a -or -name \*.o \) -exec $_target-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc '{}' \; + + # strip host binaries + find "$pkgdir"/usr/bin/ "$pkgdir"/usr/lib/gcc/$_target/$pkgver -type f -and \( -executable \) -exec strip '{}' \; + + # Remove files that conflict with host gcc package + rm -r "$pkgdir"/usr/share/man/man7 + rm -r "$pkgdir"/usr/share/info + rm "$pkgdir"/usr/lib/libcc1.* +} Copied: arm-none-eabi-gcc/repos/community-testing-i686/enable-with-multilib-list-for-arm.patch (from rev 174462, arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch) =================================================================== --- community-testing-i686/enable-with-multilib-list-for-arm.patch (rev 0) +++ community-testing-i686/enable-with-multilib-list-for-arm.patch 2016-05-09 20:35:08 UTC (rev 174463) @@ -0,0 +1,201 @@ +commit 605db6de62e8144a1b8f721c05f40d879f70625b +Author: Anatol Pomozov <anatol.pomo...@gmail.com> +Date: Fri Jan 30 06:23:17 2015 -0800 + + 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 4ab7405..6e1ea2c 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -535,6 +535,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 cb08a5c..7bded02 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -1072,7 +1072,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) + 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*-*-rtems*) +@@ -3684,42 +3684,6 @@ case "${target}" in + exit 1 + fi + +- # Add extra multilibs +- if test "x$with_multilib_list" != x; then +- arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'` +- for arm_multilib in ${arm_multilibs}; do +- case ${arm_multilib} 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. Additionally it is 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=aprofile" 1>&2 +- exit 1 +- fi +- tmake_file="${tmake_file} arm/t-aprofile" +- break +- ;; +- default) +- ;; +- *) +- echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 +- exit 1 +- ;; +- esac +- done +- fi + ;; + + fr*-*-*linux*) +diff --git a/gcc/config/arm/t-mlibs b/gcc/config/arm/t-mlibs +new file mode 100644 +index 0000000..5720cf7 +--- /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 9523773..24952e3 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -763,6 +763,7 @@ SET_MAKE + accel_dir_suffix + real_target_noncanonical + enable_as_accelerator ++with_multilib_list + REPORT_BUGS_TEXI + REPORT_BUGS_TO + PKGVERSION +@@ -7462,6 +7463,7 @@ else + fi + + ++ + # ------------------------- + # Checks for other programs + # ------------------------- +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 68b0ee8..f8a1097 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -925,6 +925,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 Copied: arm-none-eabi-gcc/repos/community-testing-x86_64/PKGBUILD (from rev 174462, arm-none-eabi-gcc/trunk/PKGBUILD) =================================================================== --- community-testing-x86_64/PKGBUILD (rev 0) +++ community-testing-x86_64/PKGBUILD 2016-05-09 20:35:08 UTC (rev 174463) @@ -0,0 +1,127 @@ +# Maintainer: Anatol Pomozov <anatol.pomo...@gmail.com> +# Contributor: Martin Schmölzer <mschmoel...@gmail.com> + +_target=arm-none-eabi +pkgname=$_target-gcc +pkgver=6.1.1 +_islver=0.17.1 +pkgrel=1 +_snapshot=6-20160505 +pkgdesc='The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target' +arch=(i686 x86_64) +url='http://gcc.gnu.org/' +license=(GPL LGPL FDL) +depends=($_target-binutils zlib libmpc) +makedepends=(gmp mpfr $_target-newlib) +optdepends=('arm-none-eabi-newlib: Standard C library optimized for embedded systems') +options=(!emptydirs !strip) +source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/snapshots/$_snapshot/gcc-$_snapshot.tar.bz2 + http://isl.gforge.inria.fr/isl-$_islver.tar.bz2 + enable-with-multilib-list-for-arm.patch) +sha256sums=('56f11990e16febe0927ec784801e56bfba7ec78cb9452dc0be252f1373431eb4' + 'd6307bf9a59514087abac3cbaab3d99393a0abb519354f7e7834a8c842310daa' + 'ee8c74097c1ff01918bda9acf9b45783fd3ba3a4c493e9e9255fa3c2130bf690') + +if [ -n "$_snapshot" ]; then + _basedir=gcc-$_snapshot +else + _basedir=gcc-$pkgver +fi + +prepare() { + cd $_basedir + + # link isl for in-tree builds + ln -s ../isl-$_islver isl + + echo $pkgver > gcc/BASE-VER + + # hack! - some configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure + + patch -p1 < $srcdir/enable-with-multilib-list-for-arm.patch + + mkdir $srcdir/build-{gcc,gcc-nano} +} + +_build_gcc() { + $srcdir/$_basedir/configure \ + --target=$_target \ + --prefix=/usr \ + --with-sysroot=/usr/$_target \ + --with-native-system-header-dir=/include \ + --libexecdir=/usr/lib \ + --enable-languages=c,c++ \ + --enable-plugins \ + --disable-decimal-float \ + --disable-libffi \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-libquadmath \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-nls \ + --disable-shared \ + --disable-threads \ + --disable-tls \ + --with-gnu-as \ + --with-gnu-ld \ + --with-system-zlib \ + --with-newlib \ + --with-headers=/usr/$_target/include \ + --with-python-dir=share/gcc-arm-none-eabi \ + --with-gmp \ + --with-mpfr \ + --with-mpc \ + --with-isl \ + --with-libelf \ + --enable-gnu-indirect-function \ + --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' \ + --with-pkgversion='Arch Repository' \ + --with-bugurl='https://bugs.archlinux.org/' \ + --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r + + make INHIBIT_LIBC_CFLAGS='-DUSE_TM_CLONE_REGISTRY=0' +} + +build() { + cd $srcdir/build-gcc + export CFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections' + export CXXFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections' + _build_gcc + + # Build libstdc++ without exceptions support (the 'nano' variant) + cd $srcdir/build-gcc-nano + export CFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections -fno-exceptions' + export CXXFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections -fno-exceptions' + _build_gcc +} + +package() { + cd $srcdir/build-gcc + make DESTDIR="$pkgdir" install -j1 + + cd $srcdir/build-gcc-nano + make DESTDIR="$pkgdir.nano" install -j1 + # we need only libstdc nano files + multilibs=( $($pkgdir/usr/bin/$_target-gcc -print-multi-lib 2>/dev/null) ) + for multilib in "${multilibs[@]}"; do + dir="${multilib%%;*}" + from_dir=$pkgdir.nano/usr/$_target/lib/$dir + to_dir=$pkgdir/usr/$_target/lib/$dir + cp -f $from_dir/libstdc++.a $to_dir/libstdc++_nano.a + cp -f $from_dir/libsupc++.a $to_dir/libsupc++_nano.a + done + + # strip target binaries + find "$pkgdir"/usr/lib/gcc/$_target/$pkgver "$pkgdir"/usr/$_target/lib -type f -and \( -name \*.a -or -name \*.o \) -exec $_target-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc '{}' \; + + # strip host binaries + find "$pkgdir"/usr/bin/ "$pkgdir"/usr/lib/gcc/$_target/$pkgver -type f -and \( -executable \) -exec strip '{}' \; + + # Remove files that conflict with host gcc package + rm -r "$pkgdir"/usr/share/man/man7 + rm -r "$pkgdir"/usr/share/info + rm "$pkgdir"/usr/lib/libcc1.* +} Copied: arm-none-eabi-gcc/repos/community-testing-x86_64/enable-with-multilib-list-for-arm.patch (from rev 174462, arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch) =================================================================== --- community-testing-x86_64/enable-with-multilib-list-for-arm.patch (rev 0) +++ community-testing-x86_64/enable-with-multilib-list-for-arm.patch 2016-05-09 20:35:08 UTC (rev 174463) @@ -0,0 +1,201 @@ +commit 605db6de62e8144a1b8f721c05f40d879f70625b +Author: Anatol Pomozov <anatol.pomo...@gmail.com> +Date: Fri Jan 30 06:23:17 2015 -0800 + + 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 4ab7405..6e1ea2c 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -535,6 +535,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 cb08a5c..7bded02 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -1072,7 +1072,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) + 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*-*-rtems*) +@@ -3684,42 +3684,6 @@ case "${target}" in + exit 1 + fi + +- # Add extra multilibs +- if test "x$with_multilib_list" != x; then +- arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'` +- for arm_multilib in ${arm_multilibs}; do +- case ${arm_multilib} 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. Additionally it is 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=aprofile" 1>&2 +- exit 1 +- fi +- tmake_file="${tmake_file} arm/t-aprofile" +- break +- ;; +- default) +- ;; +- *) +- echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 +- exit 1 +- ;; +- esac +- done +- fi + ;; + + fr*-*-*linux*) +diff --git a/gcc/config/arm/t-mlibs b/gcc/config/arm/t-mlibs +new file mode 100644 +index 0000000..5720cf7 +--- /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 9523773..24952e3 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -763,6 +763,7 @@ SET_MAKE + accel_dir_suffix + real_target_noncanonical + enable_as_accelerator ++with_multilib_list + REPORT_BUGS_TEXI + REPORT_BUGS_TO + PKGVERSION +@@ -7462,6 +7463,7 @@ else + fi + + ++ + # ------------------------- + # Checks for other programs + # ------------------------- +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 68b0ee8..f8a1097 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -925,6 +925,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