[arch-commits] Commit in (10 files)
Anatol Pomozov
anatolik at archlinux.org
Tue Nov 4 22:48:52 UTC 2014
Date: Tuesday, November 4, 2014 @ 23:48:52
Author: anatolik
Revision: 121890
Make arm embedded toolchain multilib aware, now it contains packages for several arm* platforms
Move newlib off gcc package
Update gcc to 4.9.2
Use in-tree isl for gcc
Added:
arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch
arm-none-eabi-newlib/
arm-none-eabi-newlib/repos/
arm-none-eabi-newlib/trunk/
arm-none-eabi-newlib/trunk/PKGBUILD
arm-none-eabi-newlib/trunk/fix_libgloss_compile.patch
Modified:
arm-none-eabi-gcc/trunk/PKGBUILD
Deleted:
arm-none-eabi-gcc/trunk/gcc-multilib.patch
arm-none-eabi-gcc/trunk/gcc-no-exceptions.patch
arm-none-eabi-gcc/trunk/libgloss-configure-fix.patch
-----------------------------------------------------------------+
arm-none-eabi-gcc/trunk/PKGBUILD | 123 +++---
arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch | 201 ++++++++++
arm-none-eabi-gcc/trunk/gcc-multilib.patch | 95 ----
arm-none-eabi-gcc/trunk/gcc-no-exceptions.patch | 20
arm-none-eabi-gcc/trunk/libgloss-configure-fix.patch | 11
arm-none-eabi-newlib/trunk/PKGBUILD | 63 +++
arm-none-eabi-newlib/trunk/fix_libgloss_compile.patch | 31 +
7 files changed, 356 insertions(+), 188 deletions(-)
Modified: arm-none-eabi-gcc/trunk/PKGBUILD
===================================================================
--- arm-none-eabi-gcc/trunk/PKGBUILD 2014-11-04 21:35:10 UTC (rev 121889)
+++ arm-none-eabi-gcc/trunk/PKGBUILD 2014-11-04 22:48:52 UTC (rev 121890)
@@ -1,32 +1,29 @@
-# $Id$
# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
# Contributor: Martin Schmölzer <mschmoelzer at gmail.com>
_target=arm-none-eabi
pkgname=$_target-gcc
-pkgver=4.9.1
+pkgver=4.9.2
+_islver=0.12.2
+_cloogver=0.18.1
pkgrel=1
-#_snapshot=4.9-20140604
-_newlibver=2.1.0
+#_snapshot=4.9-20140903
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 cloog libmpc zlib)
+depends=($_target-binutils $_target-newlib zlib libmpc)
makedepends=(gmp mpfr)
-#checkdepends=(dejagnu)
options=(!emptydirs !strip staticlibs)
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
- ftp://sourceware.org/pub/newlib/newlib-$_newlibver.tar.gz
- gcc-multilib.patch
- gcc-no-exceptions.patch
- libgloss-configure-fix.patch)
-sha256sums=('d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e'
- '3e4d5ab9f0508942b6231b8ade4f8e5048cf92c96ed574c2bd6bd3320a599a48'
- '998d1face674cc8d1af5bf28ded15caaaa18936a28f278123448f29555a07775'
- '7f59b28475aa2018a7edfb81ea81444a6eb098fd3847d8e605809ae6fbeabde5'
- 'eac96c034d3d7d16080d9aef4749e4eda493563a3348e6a06f08e8a330b027ba')
+ http://isl.gforge.inria.fr/isl-$_islver.tar.bz2
+ http://www.bastoul.net/cloog/pages/download/cloog-$_cloogver.tar.gz
+ enable-with-multilib-list-for-arm.patch)
+sha256sums=('2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd'
+ 'f4b3dbee9712850006e44f0db2103441ab3d13b406f77996d1df19ee89d11fb4'
+ '02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196'
+ '95a1ae356a6a4f25577bbaa6a83e00cc1ddcebd99e9d3b2bf2c81c5e3d495a77')
if [ -n "$_snapshot" ]; then
_basedir=gcc-$_snapshot
@@ -35,75 +32,77 @@
fi
prepare() {
- # Apply configure fix from newlib CVS
- cd "$srcdir/newlib-$_newlibver/libgloss/arm"
- patch -Np0 -i "$srcdir/libgloss-configure-fix.patch"
- autoreconf
+ cd $_basedir
- cd "$srcdir/$_basedir"
+ # link isl/cloog for in-tree builds
+ ln -s ../isl-$_islver isl
+ ln -s ../cloog-$_cloogver cloog
+
echo $pkgver > gcc/BASE-VER
- patch -Np0 -i "$srcdir"/gcc-multilib.patch
- patch -Np0 -i "$srcdir"/gcc-no-exceptions.patch
+ # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
- # Move newlib and libgloss to gcc source directory
- mv "$srcdir"/newlib-$_newlibver/newlib "$srcdir/$_basedir"
- mv "$srcdir"/newlib-$_newlibver/libgloss "$srcdir/$_basedir"
+ patch -p1 < $srcdir/enable-with-multilib-list-for-arm.patch
- # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
- sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" "$srcdir"/$_basedir/{libiberty,gcc}/configure
+ mkdir $srcdir/gcc-build
}
build() {
- cd $_basedir
- mkdir build
- cd build
+ cd gcc-build
export CFLAGS_FOR_TARGET='-O2 -g -pipe'
export CXXFLAGS_FOR_TARGET='-O2 -g -pipe'
- ../configure --target=$_target \
- --prefix=/usr \
- --libexecdir=/usr/lib \
- --with-pkgversion='Arch Repository' \
- --with-bugurl='https://bugs.archlinux.org/' \
- --enable-multilib \
- --enable-interwork \
- --enable-languages=c,c++ \
- --with-newlib \
- --with-gnu-as \
- --with-gnu-ld \
- --disable-nls \
- --disable-shared \
- --disable-threads \
- --with-headers=newlib/libc/include \
- --disable-libssp \
- --disable-libstdcxx-pch \
- --disable-libmudflap \
- --disable-libgomp \
- --with-system-zlib \
- --disable-newlib-supplied-syscalls
+ $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-cloog \
+ --with-isl \
+ --enable-cloog-backend=isl \
+ --with-libelf \
+ "--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
+ make INHIBIT_LIBC_CFLAGS="-DUSE_TM_CLONE_REGISTRY=0"
}
-check() {
- cd $_basedir/build
-# TODO: enable gcc tests for arm target
-# make check RUNTESTFLAGS="--target_board=arm-sim\{-mhard-float,-msoft-float\}\{-O2,\}"
-# ../contrib/test_summary
-}
-
package() {
- cd $_basedir/build
+ cd gcc-build
make DESTDIR="$pkgdir" install -j1
# Strip host objects but do not touch target one
- find "$pkgdir" -executable -type f -exec /usr/bin/strip --strip-debug '{}' \;
+ find "$pkgdir"/usr/{bin,lib} -executable -type f -exec /usr/bin/strip --strip-debug '{}' \;
# Remove files that conflict with host gcc package
rm -r "$pkgdir"/usr/share/man/man7
rm -r "$pkgdir"/usr/share/info
- rm -r "$pkgdir"/usr/share/gcc-$pkgver
}
Added: arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch
===================================================================
--- arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch (rev 0)
+++ arm-none-eabi-gcc/trunk/enable-with-multilib-list-for-arm.patch 2014-11-04 22:48:52 UTC (rev 121890)
@@ -0,0 +1,201 @@
+commit f93e01ad27a03452914f69eb64df8d3b423d3ee9
+Author: Anatol Pomozov <anatol.pomozov at gmail.com>
+Date: Thu Oct 30 14:29:08 2014 -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 9c67fe2..e791a6b 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -527,6 +527,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 10b0a6e..9022aa4 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -1043,7 +1043,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*)
+@@ -3578,42 +3578,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 4022332..e8a1bed 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -761,6 +761,7 @@ LN
+ LN_S
+ AWK
+ SET_MAKE
++with_multilib_list
+ REPORT_BUGS_TEXI
+ REPORT_BUGS_TO
+ PKGVERSION
+@@ -7409,6 +7410,7 @@ else
+ fi
+
+
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 02bb306..772515d 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -887,6 +887,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
Deleted: arm-none-eabi-gcc/trunk/gcc-multilib.patch
===================================================================
--- arm-none-eabi-gcc/trunk/gcc-multilib.patch 2014-11-04 21:35:10 UTC (rev 121889)
+++ arm-none-eabi-gcc/trunk/gcc-multilib.patch 2014-11-04 22:48:52 UTC (rev 121890)
@@ -1,95 +0,0 @@
---- gcc/config/arm/t-arm-elf.orig 2013-01-10 21:38:27.000000000 +0100
-+++ gcc/config/arm/t-arm-elf 2013-10-17 08:14:29.237001796 +0200
-@@ -18,73 +18,26 @@
-
- MULTILIB_OPTIONS = marm/mthumb
- MULTILIB_DIRNAMES = arm thumb
--MULTILIB_EXCEPTIONS =
--MULTILIB_MATCHES =
-
--#MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
--#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te
--#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626
-+# We do not want any ARM or Thumb libraries
-+MULTILIB_EXCEPTIONS = marm* mthumb
-
--#MULTILIB_OPTIONS += march=armv7
--#MULTILIB_DIRNAMES += thumb2
--#MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7*
--#MULTILIB_MATCHES += march?armv7=march?armv7-a
--#MULTILIB_MATCHES += march?armv7=march?armv7-r
--#MULTILIB_MATCHES += march?armv7=march?armv7-m
--#MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8
--#MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4
--#MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3
-+# Build with any one of arm7tdmi, M0, M3 or M4 support
-+MULTILIB_OPTIONS += mcpu=arm7tdmi-s/mcpu=cortex-m0/mcpu=cortex-m3/mcpu=cortex-m4
-+MULTILIB_DIRNAMES += arm7tdmi-s cortex-m0 cortex-m3 cortex-m4
-
--# Not quite true. We can support hard-vfp calling in Thumb2, but how do we
--# express that here? Also, we really need architecture v5e or later
--# (mcrr etc).
--MULTILIB_OPTIONS += mfloat-abi=hard
--MULTILIB_DIRNAMES += fpu
--MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
--#MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard*
--#MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard*
-+# These don't make any sense without thumb, because GCC likes to
-+# tell you that you have to supply another commandline argument
-+# rather than just setting it itself.
-+MULTILIB_EXCEPTIONS += mcpu=arm7tdmi-s* mcpu=cortex-m0* mcpu=cortex-m3* mcpu=cortex-m4*
-
--# MULTILIB_OPTIONS += mcpu=ep9312
--# MULTILIB_DIRNAMES += ep9312
--# MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312*
--#
--# MULTILIB_OPTIONS += mlittle-endian/mbig-endian
--# MULTILIB_DIRNAMES += le be
--# MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
--#
--# MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft
--# MULTILIB_DIRNAMES += fpu soft
--# MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
--#
--# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
--# MULTILIB_DIRNAMES += normal interwork
--#
--# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore
--# MULTILIB_DIRNAMES += elf under
--#
--# MULTILIB_OPTIONS += mcpu=arm7
--# MULTILIB_DIRNAMES += nofmult
--# MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7*
--# # Note: the multilib_exceptions matches both -mthumb and
--# # -mthumb-interwork
--# #
--# # We have to match all the arm cpu variants which do not have the
--# # multiply instruction and treat them as if the user had specified
--# # -mcpu=arm7. Note that in the following the ? is interpreted as
--# # an = for the purposes of matching command line options.
--# # FIXME: There ought to be a better way to do this.
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610
--# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620
-+# Specify mfloat-abi=hard mfpu=fpv4-sp-d16 only for Cortex-M4
-+MULTILIB_OPTIONS += mfloat-abi=hard mfpu=fpv4-sp-d16
-+MULTILIB_DIRNAMES += float-abi-hard fpuv4-sp-d16
-+MULTILIB_EXCEPTIONS += mfloat* mthumb/mfloat*
-+MULTILIB_EXCEPTIONS += mfpu* mthumb/mfpu*
-+MULTILIB_EXCEPTIONS += mthumb/mcpu=cortex-m4/mfloat-abi=hard
-+MULTILIB_EXCEPTIONS += mthumb/mcpu=cortex-m4/mfpu=fpv4-sp-d16
-+MULTILIB_EXCEPTIONS += *arm7tdmi-s*mfloat-abi* *arm7tdmi-s*mfpu*
-+MULTILIB_EXCEPTIONS += *cortex-m3*mfloat-abi* *cortex-m3*mfpu*
-+MULTILIB_EXCEPTIONS += *cortex-m0*mfloat-abi* *cortex-m0*mfpu*
Deleted: arm-none-eabi-gcc/trunk/gcc-no-exceptions.patch
===================================================================
--- arm-none-eabi-gcc/trunk/gcc-no-exceptions.patch 2014-11-04 21:35:10 UTC (rev 121889)
+++ arm-none-eabi-gcc/trunk/gcc-no-exceptions.patch 2014-11-04 22:48:52 UTC (rev 121890)
@@ -1,20 +0,0 @@
---- libgcc/Makefile.in.orig 2013-02-04 20:06:20.000000000 +0100
-+++ libgcc/Makefile.in 2013-10-17 08:05:38.314091932 +0200
-@@ -492,7 +492,7 @@
- ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),)
- # Provide default flags for compiling divmod functions, if they haven't been
- # set already by a target-specific Makefile fragment.
--LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -fnon-call-exceptions
-+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -fnon-call-exceptions
- endif
-
- # Build LIB2_DIVMOD_FUNCS.
-@@ -813,7 +813,7 @@
- # libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
- # LIB2ADDEHSHARED matter. (Usually all three are identical.)
-
--c_flags := -fexceptions
-+c_flags := -fno-exceptions
-
- ifeq ($(enable_shared),yes)
-
Deleted: arm-none-eabi-gcc/trunk/libgloss-configure-fix.patch
===================================================================
--- arm-none-eabi-gcc/trunk/libgloss-configure-fix.patch 2014-11-04 21:35:10 UTC (rev 121889)
+++ arm-none-eabi-gcc/trunk/libgloss-configure-fix.patch 2014-11-04 22:48:52 UTC (rev 121890)
@@ -1,11 +0,0 @@
---- configure.in 2013-09-20 16:23:41.000000000 +0200
-+++ /home/mschmoelzer/Projects/newlib/libgloss/arm/configure.in 2014-01-11 00:04:01.000000000 +0100
-@@ -59,7 +59,7 @@
-
- AC_SUBST(objtype)
-
--host_makefile_frag=${srcdir}/../config/default.mh
-+host_makefile_frag=`cd $srcdir/../config;pwd`/default.mh
-
- dnl We have to assign the same value to other variables because autoconf
- dnl doesn't provide a mechanism to substitute a replacement keyword with
Added: arm-none-eabi-newlib/trunk/PKGBUILD
===================================================================
--- arm-none-eabi-newlib/trunk/PKGBUILD (rev 0)
+++ arm-none-eabi-newlib/trunk/PKGBUILD 2014-11-04 22:48:52 UTC (rev 121890)
@@ -0,0 +1,63 @@
+# $Id$
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+
+_target=arm-none-eabi
+pkgname=$_target-newlib
+pkgver=2.1.0
+pkgrel=1
+pkgdesc='A C standard library implementation intended for use on embedded systems (ARM bare metal)'
+arch=(any)
+url='http://www.sourceware.org/newlib/'
+license=(BSD)
+makedepends=($_target-gcc git)
+options=(!emptydirs !strip staticlibs !buildflags)
+# newlib 2.1.0 does not have newlib-nano integrated yet. Let's use the latest HEAD until 2.1.1 release.
+source=(git://sourceware.org/git/newlib.git#commit=9b9f839addfe16ab0fd11f09a30a28139bfae6d5)
+sha1sums=('SKIP')
+
+build() {
+ export CFLAGS_FOR_TARGET='-g -O2 -ffunction-sections -fdata-sections'
+
+ rm -rf build-{newlib,nano}
+ mkdir build-{newlib,nano}
+
+ cd "$srcdir"/build-newlib
+ ../newlib/configure \
+ --target=$_target \
+ --prefix=/usr \
+ --disable-newlib-supplied-syscalls \
+ --disable-nls \
+ --enable-newlib-io-long-long\
+ --enable-newlib-register-fini
+ make
+
+ cd "$srcdir"/build-nano
+ ../newlib/configure \
+ --target=$_target \
+ --prefix=/usr \
+ --disable-newlib-supplied-syscalls \
+ --disable-nls \
+ --enable-newlib-reent-small \
+ --disable-newlib-fvwrite-in-streamio \
+ --disable-newlib-fseek-optimization \
+ --disable-newlib-wide-orient \
+ --enable-newlib-nano-malloc \
+ --disable-newlib-unbuf-stream-opt \
+ --enable-lite-exit \
+ --enable-newlib-global-atexit
+ make
+}
+
+package() {
+ cd "$srcdir"/build-nano
+ make DESTDIR="$pkgdir" install -j1
+ find "$pkgdir" -regex ".*/lib\(c\|g\|rdimon\)\.a" -exec rename .a _nano.a '{}' \;
+
+ cd "$srcdir"/build-newlib
+ make DESTDIR="$pkgdir" install -j1
+
+ rm "$pkgdir"/usr/share/info/*.info
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname/
+ install -m644 -t "$pkgdir"/usr/share/licenses/$pkgname/ "$srcdir"/newlib/COPYING*
+}
Property changes on: arm-none-eabi-newlib/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: arm-none-eabi-newlib/trunk/fix_libgloss_compile.patch
===================================================================
--- arm-none-eabi-newlib/trunk/fix_libgloss_compile.patch (rev 0)
+++ arm-none-eabi-newlib/trunk/fix_libgloss_compile.patch 2014-11-04 22:48:52 UTC (rev 121890)
@@ -0,0 +1,31 @@
+From: Agustin Henze <tin at debian.org>
+Date: Fri, 3 Jan 2014 11:29:55 -0300
+Subject: [PATCH] Fix wrong path to libgloss/config/default.mh
+
+---
+ libgloss/arm/cpu-init/Makefile.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgloss/arm/cpu-init/Makefile.in b/libgloss/arm/cpu-init/Makefile.in
+index 547c58d..d63149f 100644
+--- a/libgloss/arm/cpu-init/Makefile.in
++++ b/libgloss/arm/cpu-init/Makefile.in
+@@ -18,6 +18,7 @@ libdir = @libdir@
+ tooldir = $(exec_prefix)/$(target_alias)
+
+ objtype = @objtype@
++host_makefile_frag = $(srcdir)/../../config/default.mh
+
+ INSTALL = @INSTALL@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -80,7 +81,7 @@ info:
+ install-info:
+ clean-info:
+
+-Makefile: Makefile.in ../config.status @host_makefile_frag_path@
++Makefile: Makefile.in ../config.status ${host_makefile_frag_path}
+ $(SHELL) ../config.status --file cpu-init/Makefile
+
+ ../config.status: ../configure
+--
+1.8.5.2
More information about the arch-commits
mailing list