Merge remote-tracking branch 'up/master' into master-riscv64

This commit is contained in:
David Abdurachmanov 2019-02-07 09:49:18 +01:00
commit 43a3db2596
4 changed files with 156 additions and 204 deletions

2
.gitignore vendored
View File

@ -60,3 +60,5 @@
/gcc-9.0.0-20190119.tar.xz
/gcc-9.0.0-20190121.tar.xz
/gcc-9.0.1-20190123.tar.xz
/gcc-9.0.1-20190129.tar.xz
/gcc-9.0.1-20190203.tar.xz

242
gcc.spec
View File

@ -1,10 +1,10 @@
%global DATE 20190123
%global SVNREV 268193
%global DATE 20190203
%global SVNREV 268371
%global gcc_version 9.0.1
%global gcc_major 9
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
%global gcc_release 0.1
%global gcc_release 0.3
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
%global _unpackaged_files_terminate_build 0
@ -105,7 +105,6 @@ Release: %{gcc_release}.1.riscv64%{?dist}
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
Group: Development/Languages
# The source for this package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-9-branch@%%{SVNREV} gcc-%%{version}-%%{DATE}
@ -239,8 +238,6 @@ Obsoletes: libcilkrts-static
Obsoletes: libmpx
Obsoletes: libmpx-static
%endif
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
AutoReq: true
Provides: bundled(libiberty)
Provides: gcc(major) = %{gcc_major}
@ -259,6 +256,7 @@ Patch10: gcc9-rh1574936.patch
Patch11: gcc9-d-shared-libphobos.patch
Patch12: gcc9-pr88714.patch
Patch13: gcc9-pr89014.patch
Patch14: gcc9-pr89093.patch
Patch30: libphobos-enable-riscv.patch
@ -311,7 +309,6 @@ You'll need this package in order to compile C code.
%package -n libgcc
Summary: GCC version 9 shared support library
Group: System Environment/Libraries
Autoreq: false
%if !%{build_ada}
Obsoletes: libgnat < %{version}-%{release}
@ -329,7 +326,6 @@ e.g. for exception handling support.
%package c++
Summary: C++ support for GCC
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libstdc++ = %{version}-%{release}
Requires: libstdc++-devel = %{version}-%{release}
@ -342,7 +338,6 @@ including templates and exception handling.
%package -n libstdc++
Summary: GNU Standard C++ Library
Group: System Environment/Libraries
Autoreq: true
Requires: glibc >= 2.10.90-7
@ -352,7 +347,6 @@ C++ Library.
%package -n libstdc++-devel
Summary: Header files and libraries for C++ development
Group: Development/Libraries
Requires: libstdc++%{?_isa} = %{version}-%{release}
Autoreq: true
@ -363,7 +357,6 @@ development. This includes rewritten implementation of STL.
%package -n libstdc++-static
Summary: Static libraries for the GNU standard C++ library
Group: Development/Libraries
Requires: libstdc++-devel = %{version}-%{release}
Autoreq: true
@ -372,7 +365,6 @@ Static libraries for the GNU standard C++ library.
%package -n libstdc++-docs
Summary: Documentation for the GNU standard C++ library
Group: Development/Libraries
Autoreq: true
%description -n libstdc++-docs
@ -381,7 +373,6 @@ for the GNU standard C++ library.
%package objc
Summary: Objective-C support for GCC
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libobjc = %{version}-%{release}
Autoreq: true
@ -393,7 +384,6 @@ object-oriented derivative of the C language.
%package objc++
Summary: Objective-C++ support for GCC
Group: Development/Languages
Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
Autoreq: true
@ -402,7 +392,6 @@ gcc-objc++ package provides Objective-C++ support for the GCC.
%package -n libobjc
Summary: Objective-C runtime
Group: System Environment/Libraries
Autoreq: true
%description -n libobjc
@ -411,15 +400,12 @@ Objective-C dynamically linked programs.
%package gfortran
Summary: Fortran support
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgfortran = %{version}-%{release}
%if %{build_libquadmath}
Requires: libquadmath = %{version}-%{release}
Requires: libquadmath-devel = %{version}-%{release}
%endif
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Autoreq: true
%description gfortran
@ -428,7 +414,6 @@ programs with the GNU Compiler Collection.
%package -n libgfortran
Summary: Fortran runtime
Group: System Environment/Libraries
Autoreq: true
%if %{build_libquadmath}
Requires: libquadmath = %{version}-%{release}
@ -440,7 +425,6 @@ Fortran dynamically linked programs.
%package -n libgfortran-static
Summary: Static Fortran libraries
Group: Development/Libraries
Requires: libgfortran = %{version}-%{release}
Requires: gcc = %{version}-%{release}
%if %{build_libquadmath}
@ -452,11 +436,8 @@ This package contains static Fortran libraries.
%package gdc
Summary: D support
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgphobos = %{version}-%{release}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Autoreq: true
%description gdc
@ -465,7 +446,6 @@ programs with the GNU Compiler Collection.
%package -n libgphobos
Summary: D runtime
Group: System Environment/Libraries
Autoreq: true
%description -n libgphobos
@ -474,7 +454,6 @@ D dynamically linked programs.
%package -n libgphobos-static
Summary: Static D libraries
Group: Development/Libraries
Requires: libgphobos = %{version}-%{release}
Requires: gcc-gdc = %{version}-%{release}
@ -483,9 +462,6 @@ This package contains static D libraries.
%package -n libgomp
Summary: GCC OpenMP v4.5 shared support library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libgomp
This package contains GCC shared support library which is needed
@ -493,7 +469,6 @@ for OpenMP v4.5 support.
%package -n libgomp-offload-nvptx
Summary: GCC OpenMP v4.5 plugin for offloading to NVPTX
Group: System Environment/Libraries
Requires: libgomp = %{version}-%{release}
%description -n libgomp-offload-nvptx
@ -503,7 +478,6 @@ installed separately.
%package gdb-plugin
Summary: GCC plugin for GDB
Group: Development/Debuggers
Requires: gcc = %{version}-%{release}
%description gdb-plugin
@ -511,7 +485,6 @@ This package contains GCC plugin for GDB C expression evaluation.
%package -n libgccjit
Summary: Library for embedding GCC inside programs and libraries
Group: System Environment/Libraries
Requires: gcc = %{version}-%{release}
%description -n libgccjit
@ -519,24 +492,18 @@ This package contains shared library with GCC JIT front-end.
%package -n libgccjit-devel
Summary: Support for embedding GCC inside programs and libraries
Group: Development/Libraries
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
BuildRequires: python3-sphinx
%else
BuildRequires: python-sphinx
%endif
Requires: libgccjit = %{version}-%{release}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libgccjit-devel
This package contains header files and documentation for GCC JIT front-end.
%package -n libquadmath
Summary: GCC __float128 shared support library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libquadmath
This package contains GCC shared support library which is needed
@ -544,7 +511,6 @@ for __float128 math support and for Fortran REAL*16 support.
%package -n libquadmath-devel
Summary: GCC __float128 support
Group: Development/Libraries
Requires: libquadmath = %{version}-%{release}
Requires: gcc = %{version}-%{release}
@ -554,7 +520,6 @@ REAL*16 and programs using __float128 math.
%package -n libquadmath-static
Summary: Static libraries for __float128 support
Group: Development/Libraries
Requires: libquadmath-devel = %{version}-%{release}
%description -n libquadmath-static
@ -563,9 +528,6 @@ using REAL*16 and programs using __float128 math.
%package -n libitm
Summary: The GNU Transactional Memory library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libitm
This package contains the GNU Transactional Memory library
@ -573,7 +535,6 @@ which is a GCC transactional memory support runtime library.
%package -n libitm-devel
Summary: The GNU Transactional Memory support
Group: Development/Libraries
Requires: libitm = %{version}-%{release}
Requires: gcc = %{version}-%{release}
@ -583,7 +544,6 @@ GNU Transactional Memory library.
%package -n libitm-static
Summary: The GNU Transactional Memory static library
Group: Development/Libraries
Requires: libitm-devel = %{version}-%{release}
%description -n libitm-static
@ -591,9 +551,6 @@ This package contains GNU Transactional Memory static libraries.
%package -n libatomic
Summary: The GNU Atomic library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libatomic
This package contains the GNU Atomic library
@ -602,7 +559,6 @@ by hardware.
%package -n libatomic-static
Summary: The GNU Atomic static library
Group: Development/Libraries
Requires: libatomic = %{version}-%{release}
%description -n libatomic-static
@ -610,9 +566,6 @@ This package contains GNU Atomic static libraries.
%package -n libasan
Summary: The Address Sanitizer runtime library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libasan
This package contains the Address Sanitizer library
@ -620,7 +573,6 @@ which is used for -fsanitize=address instrumented programs.
%package -n libasan-static
Summary: The Address Sanitizer static library
Group: Development/Libraries
Requires: libasan = %{version}-%{release}
%description -n libasan-static
@ -628,9 +580,6 @@ This package contains Address Sanitizer static runtime library.
%package -n libtsan
Summary: The Thread Sanitizer runtime library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libtsan
This package contains the Thread Sanitizer library
@ -638,7 +587,6 @@ which is used for -fsanitize=thread instrumented programs.
%package -n libtsan-static
Summary: The Thread Sanitizer static library
Group: Development/Libraries
Requires: libtsan = %{version}-%{release}
%description -n libtsan-static
@ -646,9 +594,6 @@ This package contains Thread Sanitizer static runtime library.
%package -n libubsan
Summary: The Undefined Behavior Sanitizer runtime library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n libubsan
This package contains the Undefined Behavior Sanitizer library
@ -656,7 +601,6 @@ which is used for -fsanitize=undefined instrumented programs.
%package -n libubsan-static
Summary: The Undefined Behavior Sanitizer static library
Group: Development/Libraries
Requires: libubsan = %{version}-%{release}
%description -n libubsan-static
@ -664,9 +608,6 @@ This package contains Undefined Behavior Sanitizer static runtime library.
%package -n liblsan
Summary: The Leak Sanitizer runtime library
Group: System Environment/Libraries
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n liblsan
This package contains the Leak Sanitizer library
@ -674,7 +615,6 @@ which is used for -fsanitize=leak instrumented programs.
%package -n liblsan-static
Summary: The Leak Sanitizer static library
Group: Development/Libraries
Requires: liblsan = %{version}-%{release}
%description -n liblsan-static
@ -682,11 +622,8 @@ This package contains Leak Sanitizer static runtime library.
%package -n cpp
Summary: The C Preprocessor
Group: Development/Languages
Requires: filesystem >= 3
Provides: /lib/cpp
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Autoreq: true
%description -n cpp
@ -713,11 +650,8 @@ macros.
%package gnat
Summary: Ada 83, 95, 2005 and 2012 support for GCC
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Autoreq: true
%description gnat
@ -726,7 +660,6 @@ development tools, the documents and Ada compiler.
%package -n libgnat
Summary: GNU Ada 83, 95, 2005 and 2012 runtime shared libraries
Group: System Environment/Libraries
Autoreq: true
%description -n libgnat
@ -735,7 +668,6 @@ shared libraries, which are required to run programs compiled with the GNAT.
%package -n libgnat-devel
Summary: GNU Ada 83, 95, 2005 and 2012 libraries
Group: Development/Languages
Autoreq: true
%description -n libgnat-devel
@ -744,7 +676,6 @@ libraries, which are required to compile with the GNAT.
%package -n libgnat-static
Summary: GNU Ada 83, 95, 2005 and 2012 static libraries
Group: Development/Languages
Requires: libgnat-devel = %{version}-%{release}
Autoreq: true
@ -754,12 +685,9 @@ static libraries.
%package go
Summary: Go support
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgo = %{version}-%{release}
Requires: libgo-devel = %{version}-%{release}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
Autoreq: true
@ -770,7 +698,6 @@ with the GNU Compiler Collection.
%package -n libgo
Summary: Go runtime
Group: System Environment/Libraries
Autoreq: true
%description -n libgo
@ -779,7 +706,6 @@ Go dynamically linked programs.
%package -n libgo-devel
Summary: Go development libraries
Group: Development/Languages
Requires: libgo = %{version}-%{release}
Autoreq: true
@ -789,7 +715,6 @@ Go programs.
%package -n libgo-static
Summary: Static Go libraries
Group: Development/Libraries
Requires: libgo = %{version}-%{release}
Requires: gcc = %{version}-%{release}
@ -798,7 +723,6 @@ This package contains static Go libraries.
%package plugin-devel
Summary: Support for compiling GCC plugins
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
@ -809,7 +733,6 @@ not stable, so plugins must be rebuilt any time GCC is updated.
%package offload-nvptx
Summary: Offloading compiler to NVPTX
Group: Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgomp-offload-nvptx = %{version}-%{release}
@ -841,6 +764,7 @@ to NVidia PTX capable devices if available.
%patch11 -p0 -b .d-shared-libphobos~
%patch12 -p0 -b .pr88714~
%patch13 -p0 -b .pr89014~
%patch14 -p0 -b .pr89093~
%patch30 -p1 -b .libphobos-riscv~
@ -1990,74 +1914,6 @@ tar cf - testlogs-%{_target_platform}-%{version}-%{release} | xz -9e \
| uuencode testlogs-%{_target_platform}.tar.xz || :
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
%post
if [ -f %{_infodir}/gcc.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
fi
%preun
if [ $1 = 0 -a -f %{_infodir}/gcc.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
fi
%post -n cpp
if [ -f %{_infodir}/cpp.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
fi
%preun -n cpp
if [ $1 = 0 -a -f %{_infodir}/cpp.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
fi
%post gfortran
if [ -f %{_infodir}/gfortran.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
fi
%preun gfortran
if [ $1 = 0 -a -f %{_infodir}/gfortran.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
fi
%post gdc
if [ -f %{_infodir}/gdc.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gdc.info.gz || :
fi
%preun gdc
if [ $1 = 0 -a -f %{_infodir}/gdc.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gdc.info.gz || :
fi
%post gnat
if [ -f %{_infodir}/gnat_rm.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || :
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
fi
%preun gnat
if [ $1 = 0 -a -f %{_infodir}/gnat_rm.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || :
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
fi
%post go
%{_sbindir}/update-alternatives --install \
%{_prefix}/bin/go go %{_prefix}/bin/go.gcc 92 \
@ -2101,66 +1957,15 @@ end
%ldconfig_scriptlets -n libgnat
%post -n libgomp
/sbin/ldconfig
if [ -f %{_infodir}/libgomp.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
fi
%preun -n libgomp
if [ $1 = 0 -a -f %{_infodir}/libgomp.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
fi
%postun -n libgomp -p /sbin/ldconfig
%ldconfig_scriptlets -n libgomp
%ldconfig_scriptlets gdb-plugin
%ldconfig_scriptlets -n libgccjit
%post -n libgccjit-devel
if [ -f %{_infodir}/libgccjit.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
fi
%ldconfig_scriptlets -n libgquadmath
%preun -n libgccjit-devel
if [ $1 = 0 -a -f %{_infodir}/libgccjit.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
fi
%post -n libquadmath
/sbin/ldconfig
if [ -f %{_infodir}/libquadmath.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
fi
%preun -n libquadmath
if [ $1 = 0 -a -f %{_infodir}/libquadmath.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
fi
%postun -n libquadmath -p /sbin/ldconfig
%post -n libitm
/sbin/ldconfig
if [ -f %{_infodir}/libitm.info.gz ]; then
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
fi
%preun -n libitm
if [ $1 = 0 -a -f %{_infodir}/libitm.info.gz ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
fi
%postun -n libitm -p /sbin/ldconfig
%ldconfig_scriptlets -n libitm
%ldconfig_scriptlets -n libatomic
@ -3170,6 +2975,37 @@ fi
%endif
%changelog
* Sun Feb 3 2019 Jakub Jelinek <jakub@redhat.com> 9.0.1-0.3
- update from trunk
- PRs c++/80864, c++/86943, c++/87175, c++/88325, c++/88752, c++/88761,
c++/88983, c++/88988, c++/89083, c++/89105, c++/89119, c/88956,
c/89061, c/89122, fortran/52564, fortran/52884, fortran/57048,
fortran/81344, fortran/83246, fortran/88298, fortran/88393,
fortran/88669, fortran/88685, fortran/88980, fortran/89084, hsa/87863,
libbacktrace/89136, libfortran/78314, libfortran/88678,
libstdc++/88170, libstdc++/89117, middle-end/87887, middle-end/88597,
middle-end/89137, other/89106, rtl-optimization/87246,
rtl-optimization/88593, rtl-optimization/89115, sanitizer/89124,
target/89071, testsuite/87451, testsuite/88920, testsuite/89110,
tree-optimization/85497, tree-optimization/88107,
tree-optimization/88932, tree-optimization/89111,
tree-optimization/89135, tree-optimization/89143
* Tue Jan 29 2019 Jakub Jelinek <jakub@redhat.com> 9.0.1-0.2
- update from trunk
- PRs c++/66676, c++/88358, c++/88815, c++/88865, c++/88969, c++/88976,
c++/89001, c++/89024, c++/89089, c/86125, c/88886, c/89045, d/89042,
debug/87295, debug/89006, debug/89076, fortran/57553, fortran/70696,
fortran/85780, fortran/88929, gcc/87763, gcov-profile/88994,
ipa/88933, ipa/89104, libfortran/89020, libgcc/88931, libstdc++/68737,
libstdc++/88840, lto/87187, middle-end/86308, middle-end/89002,
middle-end/89015, middle-end/89037, preprocessor/88974,
rtl-optimization/88846, rtl-optimization/88948, target/85711,
target/87214, target/88998, target/89073, testsuite/89064,
tree-optimization/86865, tree-optimization/88739,
tree-optimization/89027, tree-optimization/89049
- make sure ARM unwinder doesn't use VFP registers (#1670069, PR target/89093)
* Wed Jan 23 2019 Jakub Jelinek <jakub@redhat.com> 9.0.1-0.1
- update from trunk
- PRs c++/87893, c++/88293, c++/88757, c++/88984, c/44715, driver/89014,

114
gcc9-pr89093.patch Normal file
View File

@ -0,0 +1,114 @@
2019-01-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/89093
* config/arm/arm-cpus.in: Add -mfpu=none support.
* config/arm/arm-tables.opt: Likewise.
* config/arm/arm.c (arm_options_perform_arch_sanity_checks): Remove
error for no FPU.
* config/arm/pr-support.c: Add #pragma GCC target ("fpu=none").
* config/arm/unwind-arm.c: Likewise.
* unwind-c.c: Likewise, #ifdef __arm__ only.
* libsupc++/eh_personality.cc: Add #pragma GCC target ("fpu=none")
for __arm__.
--- gcc/config/arm/arm-cpus.in
+++ gcc/config/arm/arm-cpus.in
@@ -128,6 +128,7 @@ define feature cmse
# Floating point and Neon extensions.
# VFPv1 is not supported in GCC.
+define feature nofp
# Vector floating point v2.
define feature vfpv2
@@ -258,6 +259,7 @@ define fgroup ARMv8m_main ARMv7m armv8 cmse
define fgroup ARMv8r ARMv8a
# Useful combinations.
+define fgroup NONE nofp
define fgroup VFPv2 vfpv2
define fgroup VFPv3 VFPv2 vfpv3
define fgroup VFPv4 VFPv3 vfpv4 fp16conv
@@ -1394,6 +1396,9 @@ end cpu cortex-r52
# begin fpu <name>
# isa <isa-flags-list>
# end fpu <name>
+begin fpu none
+isa NONE FP_DBL
+end fpu none
begin fpu vfp
isa VFPv2 FP_DBL
--- gcc/config/arm/arm-tables.opt
+++ gcc/config/arm/arm-tables.opt
@@ -353,6 +353,9 @@ Enum
Name(arm_fpu) Type(enum fpu_type)
Known ARM FPUs (for use with the -mfpu= option):
+EnumValue
+Enum(arm_fpu) String(none) Value(TARGET_FPU_none)
+
EnumValue
Enum(arm_fpu) String(vfp) Value(TARGET_FPU_vfp)
--- gcc/config/arm/arm.c
+++ gcc/config/arm/arm.c
@@ -3759,8 +3759,6 @@ arm_options_perform_arch_sanity_checks (void)
else if (TARGET_HARD_FLOAT_ABI)
{
arm_pcs_default = ARM_PCS_AAPCS_VFP;
- if (!bitmap_bit_p (arm_active_target.isa, isa_bit_vfpv2))
- error ("-mfloat-abi=hard: selected processor lacks an FPU");
}
else
arm_pcs_default = ARM_PCS_AAPCS;
--- libgcc/config/arm/pr-support.c
+++ libgcc/config/arm/pr-support.c
@@ -21,6 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#pragma GCC target ("fpu=none")
+
#include "unwind.h"
/* We add a prototype for abort here to avoid creating a dependency on
--- libgcc/config/arm/unwind-arm.c
+++ libgcc/config/arm/unwind-arm.c
@@ -21,6 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#pragma GCC target ("fpu=none")
+
#include "unwind.h"
/* Misc constants. */
--- libgcc/unwind-c.c
+++ libgcc/unwind-c.c
@@ -24,6 +24,10 @@ a copy of the GCC Runtime Library Except
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#ifdef __arm__
+#pragma GCC target ("fpu=none")
+#endif
+
#include "tconfig.h"
#include "tsystem.h"
#include "auto-target.h"
--- libstdc++-v3/libsupc++/eh_personality.cc
+++ libstdc++-v3/libsupc++/eh_personality.cc
@@ -22,6 +22,10 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#ifdef __arm__
+#pragma GCC target ("fpu=none")
+#endif
+
#include <bits/c++config.h>
#include <cstdlib>
#include <bits/exception_defines.h>

View File

@ -1,3 +1,3 @@
SHA512 (gcc-9.0.1-20190123.tar.xz) = 640e27164ec6624366af3fdcb9f1bd399c47bd1a8adc57a0f5f0214493354a218d1cdc7c8e60bb9323baf01c3e2ef09233d57896b3e3047149064b1c353b6b8c
SHA512 (gcc-9.0.1-20190203.tar.xz) = e82e8f94fde788c57a688db80b7d763cf636621f588bea3ba807118c6fde0177262f72b150f918dcd892fec614400da5fecb15f432ae67cd0333aaca5d6640c9
SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1