mhlavink pushed to arm-none-eabi-gcc-cs (f22). "update to gcc 4.9.2 (..more)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Tue Apr 14 16:01:50 UTC 2015
>From 3f0a47ae08f0b55700e1f96c201998cba63f8901 Mon Sep 17 00:00:00 2001
From: Michal Hlavinka <mhlavink at redhat.com>
Date: Tue, 14 Apr 2015 18:01:29 +0200
Subject: update to gcc 4.9.2
- fix library compatiblity
- BOOTSTRAP version, not for regular use
diff --git a/.gitignore b/.gitignore
index 218007c..1ce55fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/gcc-2013.05-23.tar.bz2
/gcc-2013.11-24.tar.bz2
/gcc-2014.05-28.tar.bz2
+/gcc-4.9.2.tar.bz2
diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec
index 41ccc72..c5620ec 100644
--- a/arm-none-eabi-gcc-cs.spec
+++ b/arm-none-eabi-gcc-cs.spec
@@ -6,16 +6,17 @@
%global processor_arch arm
%global target %{processor_arch}-none-eabi
-%global gcc_ver 4.8.3
-%global gcc_short_ver 4.8
+%global gcc_ver 4.9.2
+%global gcc_short_ver 4.9
# we need newlib to compile complete gcc, but we need gcc to compile newlib,
# so compile minimal gcc first
-%global bootstrap 0
+%global bootstrap 1
Name: %{target}-gcc-cs
-Version: %{cs_date}.%{cs_rel}
-Release: 2%{?dist}
+Epoch: 1
+Version: 4.9.2
+Release: 1%{?dist}
Summary: GNU GCC for cross-compilation for %{target} target
Group: Development/Tools
@@ -33,13 +34,15 @@ License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD
URL: http://www.codesourcery.com/sgpp/lite/%{processor_arch}
#we don't use orignal tarball, because it's HUGE
-Source0: gcc-%{cs_date}-%{cs_rel}.tar.bz2
+#Source0: gcc-%{cs_date}-%{cs_rel}.tar.bz2
+Source0: gcc-%{gcc_ver}.tar.bz2
#Source0 origin:
#wget https://sourcery.mentor.com/GNUToolchain/package%{cs_pkgnum}/public/%{target}/%{processor_arch}-%{cs_date}-%{cs_rel}-%{target}.src.tar.bz2
#tar jxvf %{processor_arg}-%{cs_date}-%{cs_rel}-%{target}.src.tar.bz2
Source1: README.fedora
Source2: bootstrapexplain
+Patch1: enable-with-multilib-list-for-arm.patch
BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen
%if ! %{bootstrap}
@@ -74,7 +77,8 @@ GNU GCC release.
%prep
%setup -q -c
-pushd gcc-%{gcc_short_ver}-%{cs_date}
+pushd gcc-%{gcc_ver}
+%patch1 -p2 -b .arm
contrib/gcc_update --touch
popd
@@ -105,23 +109,37 @@ sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
mkdir -p gcc-%{target}
pushd gcc-%{target}
CC="%{__cc} ${RPM_OPT_FLAGS}" \
-../gcc-%{gcc_short_ver}-%{cs_date}/configure --prefix=%{_prefix} --mandir=%{_mandir} --libdir=%{_libdir} \
+../gcc-%{gcc_ver}/configure --prefix=%{_prefix} --mandir=%{_mandir} \
--with-pkgversion="Fedora %{version}-%{release}" \
--with-bugurl="https://bugzilla.redhat.com/" \
- --enable-lto \
--infodir=%{_infodir} --target=%{target} \
--enable-interwork --enable-multilib \
+ --with-python-dir=share/gcc-%{target} \
+ --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r \
+ --enable-plugins \
+ --disable-decimal-float \
+ --disable-libffi \
+ --disable-libgomp \
+ --disable-libmudflap \
+ --disable-libquadmath \
+ --disable-libssp \
+ --disable-libstdcxx-pch \
+ --disable-libstdc++-v3 \
+ --disable-nls \
+ --disable-shared \
+ --disable-threads \
+ --disable-tls \
%if %{bootstrap}
- --enable-languages=c --disable-nls --disable-shared --disable-threads --with-gnu-as --with-gnu-ld --with-gmp --with-mpfr --with-mpc --without-headers --with-system-zlib --disable-libssp
+ --enable-languages=c --with-newlib --disable-nls --disable-shared --disable-threads --with-gnu-as --with-gnu-ld --with-gmp --with-mpfr --with-mpc --without-headers
%else
- --enable-languages=c,c++ --enable-plugins --disable-nls --disable-shared --disable-threads --with-gnu-as --with-gnu-ld --with-gmp --with-mpfr --with-mpc --with-newlib --with-headers=/usr/%{target}/include --with-system-zlib
+ --enable-languages=c,c++ --with-newlib --disable-nls --disable-shared --disable-threads --with-gnu-as --with-gnu-ld --with-gmp --with-mpfr --with-mpc --with-headers=/usr/%{target}/include --with-system-zlib
%endif
+# --enable-lto \
-# In general, building GCC is not smp-safe, but give it initial push anyway
%if %{bootstrap}
-make all-gcc %{?_smp_mflags} || make all-gcc
+make all-gcc INHIBIT_LIBC_CFLAGS='-DUSE_TM_CLONE_REGISTRY=0'
%else
-make %{?_smp_mflags} || make
+make INHIBIT_LIBC_CFLAGS='-DUSE_TM_CLONE_REGISTRY=0'
%endif
popd
@@ -139,12 +157,17 @@ popd
# we don't want these as we are a cross version
rm -r $RPM_BUILD_ROOT%{_infodir}
rm -r $RPM_BUILD_ROOT%{_mandir}/man7
-rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
+rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
# and these aren't usefull for embedded targets
rm -r $RPM_BUILD_ROOT%{_prefix}/lib*/gcc/%{target}/%{gcc_ver}/install-tools ||:
rm -r $RPM_BUILD_ROOT%{_libexecdir}/gcc/%{target}/%{gcc_ver}/install-tools ||:
rm -f $RPM_BUILD_ROOT%{_libexecdir}/gcc/%{target}/%{gcc_ver}/*.la
+
+mkdir -p $RPM_BUILD_ROOT/usr/%{target}/share/gcc-%{gcc_ver}/
+mv $RPM_BUILD_ROOT/%{_datadir}/gcc-%{gcc_ver}/* $RPM_BUILD_ROOT/usr/%{target}/share/gcc-%{gcc_ver}/ ||:
+rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc-%{gcc_ver} ||:
+
%global __os_install_post . ./os_install_post
@@ -159,18 +182,18 @@ popd
%files
%defattr(-,root,root,-)
-%doc gcc-%{gcc_short_ver}-%{cs_date}/COPYING*
-%doc gcc-%{gcc_short_ver}-%{cs_date}/README README.fedora
+%doc gcc-%{gcc_ver}/COPYING*
+%doc gcc-%{gcc_ver}/README README.fedora
%{_bindir}/%{target}-*
-%dir %{_libdir}/gcc
-%dir %{_libdir}/gcc/%{target}
-%{_libdir}/gcc/%{target}/%{gcc_ver}
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{target}
+%{_prefix}/lib/gcc/%{target}/%{gcc_ver}
%dir %{_libexecdir}/gcc
%dir %{_libexecdir}/gcc/%{target}
%{_libexecdir}/gcc/%{target}/%{gcc_ver}
%{_mandir}/man1/%{target}-*.1.gz
%if ! %{bootstrap}
-/usr/%{target}/lib/
+#/usr/%{target}/lib/
%exclude %{_bindir}/%{target}-?++
%exclude %{_libexecdir}/gcc/%{target}/%{gcc_ver}/cc1plus
%exclude %{_mandir}/man1/%{target}-g++.1.gz
@@ -181,13 +204,18 @@ popd
%{_bindir}/%{target}-?++
%if ! %{bootstrap}
%{_libexecdir}/gcc/%{target}/%{gcc_ver}/cc1plus
-/usr/%{target}/include/c++/
-%dir /usr/%{target}/share/gcc-%{gcc_ver}/python/
-/usr/%{target}/share/gcc-%{gcc_ver}/python/libstdcxx/
+#/usr/%{target}/include/c++/
+#%dir /usr/%{target}/share/gcc-%{gcc_ver}/python/
+#/usr/%{target}/share/gcc-%{gcc_ver}/python/libstdcxx/
%{_mandir}/man1/%{target}-g++.1.gz
%endif
%changelog
+* Tue Apr 14 2015 Michal Hlavinka <mhlavink at redhat.com> - 1:4.9.2-1
+- update to gcc 4.9.2
+- fix library compatiblity
+- BOOTSTRAP version, not for regular use
+
* Tue Sep 02 2014 Michal Hlavinka <mhlavink at redhat.com> - 2014.05.28-2
- update workaround that prevents stripping of arm libraries
diff --git a/enable-with-multilib-list-for-arm.patch b/enable-with-multilib-list-for-arm.patch
new file mode 100644
index 0000000..49dda39
--- /dev/null
+++ b/enable-with-multilib-list-for-arm.patch
@@ -0,0 +1,189 @@
+diff -up arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config/arm/t-mlibs.arm arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config/arm/t-mlibs
+--- arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config/arm/t-mlibs.arm 2015-04-14 13:16:49.730451942 +0200
++++ arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config/arm/t-mlibs 2015-04-14 13:16:49.730451942 +0200
+@@ -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 -up arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config.gcc.arm arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config.gcc
+--- arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config.gcc.arm 2014-09-17 16:16:02.000000000 +0200
++++ arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/config.gcc 2015-04-14 13:27:35.826348751 +0200
+@@ -1056,7 +1056,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*
+ 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*)
+@@ -3589,42 +3589,6 @@ case "${target}" in
+ echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2
+ 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 -up arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure.ac.arm arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure.ac
+--- arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure.ac.arm 2014-10-10 14:51:28.000000000 +0200
++++ arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure.ac 2015-04-14 13:16:49.734451928 +0200
+@@ -838,6 +838,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
+diff -up arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure.arm arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure
+--- arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure.arm 2014-10-10 14:51:28.000000000 +0200
++++ arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/configure 2015-04-14 13:16:49.733451932 +0200
+@@ -761,6 +761,7 @@ LN
+ LN_S
+ AWK
+ SET_MAKE
++with_multilib_list
+ REPORT_BUGS_TEXI
+ REPORT_BUGS_TO
+ PKGVERSION
+@@ -7301,6 +7302,7 @@ else
+ fi
+
+
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+diff -up arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/Makefile.in.arm arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/Makefile.in
+--- arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/Makefile.in.arm 2014-10-16 15:50:42.000000000 +0200
++++ arm-none-eabi-gcc-cs-2014.05.28/gcc-4.9.2/gcc/Makefile.in 2015-04-14 13:16:49.729451945 +0200
+@@ -540,6 +540,7 @@ lang_opt_files=@lang_opt_files@ $(srcdir
+ 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/sources b/sources
index 7f89f01..ff000f3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-f17815dccade0fea6e37ebcc9aca6e2f gcc-2014.05-28.tar.bz2
+4df8ee253b7f3863ad0b86359cd39c43 gcc-4.9.2.tar.bz2
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/arm-none-eabi-gcc-cs.git/commit/?h=f22&id=3f0a47ae08f0b55700e1f96c201998cba63f8901
More information about the scm-commits
mailing list