[arch-commits] Commit in arm-none-eabi-gcc/repos/community-x86_64 (4 files)
Anatol Pomozov
anatolik at archlinux.org
Fri Jan 26 23:28:44 UTC 2018
Date: Friday, January 26, 2018 @ 23:28:42
Author: anatolik
Revision: 287304
archrelease: copy trunk to community-x86_64
Added:
arm-none-eabi-gcc/repos/community-x86_64/PKGBUILD
(from rev 287302, arm-none-eabi-gcc/trunk/PKGBUILD)
arm-none-eabi-gcc/repos/community-x86_64/enable-with-multilib-list-for-arm.patch
(from rev 287302, arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch)
Deleted:
arm-none-eabi-gcc/repos/community-x86_64/PKGBUILD
arm-none-eabi-gcc/repos/community-x86_64/enable-with-multilib-list-for-arm.patch
-----------------------------------------+
PKGBUILD | 254 ++++++++---------
enable-with-multilib-list-for-arm.patch | 430 +++++++++++++++---------------
2 files changed, 342 insertions(+), 342 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2018-01-26 23:28:37 UTC (rev 287303)
+++ PKGBUILD 2018-01-26 23:28:42 UTC (rev 287304)
@@ -1,127 +0,0 @@
-# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
-# Contributor: Martin Schmölzer <mschmoelzer at gmail.com>
-
-_target=arm-none-eabi
-pkgname=$_target-gcc
-pkgver=7.2.0
-_islver=0.18
-pkgrel=2
-_snapshot=7-20170907
-pkgdesc='The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target'
-arch=(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.xz
- http://isl.gforge.inria.fr/isl-$_islver.tar.bz2
- enable-with-multilib-list-for-arm.patch)
-sha256sums=('af37950ac7fc4996b4bdf22cbaaf5d1db52ff6490bfe3d83bcae5d5097645bc9'
- '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
- '9447a8fd40d7c1e238b8e9790b739492de5feaa489d61f4ecdab863e5ea1975a')
-
-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-x86_64/PKGBUILD (from rev 287302, arm-none-eabi-gcc/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2018-01-26 23:28:42 UTC (rev 287304)
@@ -0,0 +1,127 @@
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+# Contributor: Martin Schmölzer <mschmoelzer at gmail.com>
+
+_target=arm-none-eabi
+pkgname=$_target-gcc
+pkgver=7.3.0
+_islver=0.18
+pkgrel=1
+_snapshot=7-20180125
+pkgdesc='The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target'
+arch=(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.xz
+ http://isl.gforge.inria.fr/isl-$_islver.tar.bz2
+ enable-with-multilib-list-for-arm.patch)
+sha256sums=('f4cad0895aa6dd237cbcb6e81750e40c3fb3eba8a5bcdf25a21c4ee5520c344b'
+ '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
+ '9447a8fd40d7c1e238b8e9790b739492de5feaa489d61f4ecdab863e5ea1975a')
+
+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.*
+}
Deleted: enable-with-multilib-list-for-arm.patch
===================================================================
--- enable-with-multilib-list-for-arm.patch 2018-01-26 23:28:37 UTC (rev 287303)
+++ enable-with-multilib-list-for-arm.patch 2018-01-26 23:28:42 UTC (rev 287304)
@@ -1,215 +0,0 @@
-commit 71587241301d28b68bbe2f41c5eb2856053c750c
-Author: Anatol Pomozov <anatol.pomozov at 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
Copied: arm-none-eabi-gcc/repos/community-x86_64/enable-with-multilib-list-for-arm.patch (from rev 287302, arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch)
===================================================================
--- enable-with-multilib-list-for-arm.patch (rev 0)
+++ enable-with-multilib-list-for-arm.patch 2018-01-26 23:28:42 UTC (rev 287304)
@@ -0,0 +1,215 @@
+commit 71587241301d28b68bbe2f41c5eb2856053c750c
+Author: Anatol Pomozov <anatol.pomozov at 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
More information about the arch-commits
mailing list