%define quadmath_arch %ix86 x86_64 ia64
%define tsan_arch x86_64
-%define asan_arch x86_64 %ix86 ppc ppc64
+%define asan_arch x86_64 %ix86 ppc ppc64 %arm
%define itm_arch x86_64 %ix86 %arm ppc ppc64
%define atomic_arch x86_64 %ix86 %arm ppc ppc64 s390 s390x
%define build_libjava 0
%define build_cp 1
-%define build_fortran !0%{?building_libjava:1}%{?building_libffi:1}
-%define build_objc !0%{?building_libjava:1}%{?building_libffi:1}
-%define build_objcp !0%{?building_libjava:1}%{?building_libffi:1}
+%define build_fortran 0%{?building_libjava:1}%{?building_libffi:1}
+%define build_objc 0%{?building_libjava:1}%{?building_libffi:1}
+%define build_objcp 0%{?building_libjava:1}%{?building_libffi:1}
%define build_with_mudflap 0
%if %{build_objcp}
%endif
# Shared library SONAME versions
-%ifarch hppa
-%define libgcc_s 4
-%else
%define libgcc_s 1
-%endif
-%define libgcj_sover 14
-%define libgcj_bc_sover 1
-%define libffi_sover 4
-%define libmudflap_sover 0
-%define libgomp_sover 1
-%define libstdcxx_sover 6
-%define libobjc_sover 4
-%define libgfortran_sover 3
-%define libquadmath_sover 0
-%define libasan_sover 0
-%define libtsan_sover 0
-%define libatomic_sover 1
-%define libitm_sover 1
+%define libgcj_sover %{nil}
+%define libgcj_bc_sover %{nil}
+%define libffi_sover %{nil}
+%define libmudflap_sover %{nil}
+%define libgomp_sover %{nil}
+%define libstdcxx_sover %{nil}
+%define libobjc_sover %{nil}
+%define libgfortran_sover %{nil}
+%define libquadmath_sover %{nil}
+%define libasan_sover %{nil}
+%define libtsan_sover %{nil}
+%define libatomic_sover %{nil}
+%define libitm_sover %{nil}
# Shared library package suffix
# This is used for the "non-standard" set of libraries, the standard
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: http://gcc.gnu.org/
-Version: 4.8.1
+Version: 4.8.2
Release: 1
-%define gcc_version %(echo %version | sed 's/_.*//')
-%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
-%define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
+%define gcc_dir_version 4.8
%define binsuffix -4.8
%if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2
+Source: gcc-%{version}.tar.bz2
Source1: change_spec
Source3: gcc48-rpmlintrc
Source4: ecj.jar
Source6: baselibs.conf
-Group: Development/Languages/C and C++
+Group: Development/Toolchain
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
%package -n libffi%{libffi_sover}%{libffi_suffix}
Summary: Foreign Function Interface library
License: BSD-3-Clause
-Group: Development/Languages/C and C++
%description -n libffi%{libffi_sover}%{libffi_suffix}
A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
-Group: Development/Languages/C and C++
%description -n libffi%{libffi_sover}%{libffi_suffix}-32bit
A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
-Group: Development/Languages/C and C++
%description -n libffi%{libffi_sover}%{libffi_suffix}-64bit
A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
%package -n libffi48-devel
Summary: Foreign Function Interface library development files
License: BSD 3-Clause
-Group: Development/Languages/C and C++
Requires: libffi%{libffi_sover} >= %{version}-%{release}
%description -n libffi48-devel
%package -n libffi48-devel-32bit
Summary: Foreign Function Interface library development files
License: BSD 3-Clause
-Group: Development/Languages/C and C++
Requires: libffi%{libffi_sover}-32bit >= %{version}-%{release}
%description -n libffi48-devel-32bit
%package -n libffi48-devel-64bit
Summary: Foreign Function Interface library development files
License: BSD 3-Clause
-Group: Development/Languages/C and C++
Requires: libffi%{libffi_sover}-64bit >= %{version}-%{release}
%description -n libffi48-devel-64bit
%package -n gcc48-testresults
Summary: Testsuite results
License: SUSE-Public-Domain
-Group: Development/Languages/C and C++
%description -n gcc48-testresults
Results from running the gcc and target library testsuites.
%prep
-%setup -q -n gcc-%{gcc_version}%{snapshot_date}
+%setup -q -n gcc-%{version}
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
--disable-plugin \
--with-bugurl="http://bugs.tizen.org/" \
--with-pkgversion="Tizen" \
+%if !%{build_fortran}
+ --disable-libquadmath \
+%endif
%if !%{build_libjava}
--disable-libgcj \
%else
--enable-linker-build-id \
%if 0%{?gcc_target_arch:1}
%if 0%{?gcc_icecream:1}
- --with-build-sysroot=/ \
- --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
- --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
+ --with-sysroot=/ \
+ --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/include/c++/%{gcc_dir_version} \
--enable-linux-futex \
%endif
%if 0%{?canonical_target:1}
%endif
%if "%{TARGET_ARCH}" == "armv7l"
--with-arch=armv7-a \
- --with-tune=cortex-a9 \
- --with-float=hard \
- --with-abi=aapcs-linux \
- --with-fpu=vfpv3-d16 \
+ --with-tune=cortex-a8 \
+ --with-float=softfp \
+ --with-fpu=vfpv3 \
+ --with-mode=thumb \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"