Compare commits

...

10 Commits

Author SHA256 Message Date
13f3968329 - Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=241
2023-12-19 12:04:56 +00:00
71e40e567f OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=240 2022-05-04 09:47:58 +00:00
f1eacbabd0 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=239 2022-03-30 11:45:31 +00:00
3be62c3e20 - Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=238
2022-03-30 06:19:05 +00:00
9f40c1c541 - Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions.  [bsc#1185395]

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=237
2021-04-29 07:39:23 +00:00
30f3cbc744 - Fix 32bit libgnat.so link. [bsc#1178675]
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=236
2020-11-12 11:32:34 +00:00
172e6113ba - Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99.  [bsc#1177947]

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=235
2020-10-22 09:49:07 +00:00
73d047ce25 - Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x.  [bsc#1161913]

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=234
2020-01-29 09:53:36 +00:00
24162ab034 - Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
files. [bsc#1071995, fate#323487]

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=233
2019-06-13 10:33:39 +00:00
a3ce234b23 Accepting request 709668 from home:marxin:branches:devel:gcc48
- Add gcc48-flive-patching.patch patch.
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
  files.

OBS-URL: https://build.opensuse.org/request/show/709668
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc48?expand=0&rev=232
2019-06-13 08:57:13 +00:00
39 changed files with 2427 additions and 312 deletions

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-aarch64-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -89,12 +90,12 @@ BuildRequires: libunwind-devel
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 s390x
ExclusiveArch: ppc64 x86_64 ia64 s390x
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-armv6hl-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-armv7hl-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-i386-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-ia64-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 x86_64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-ppc-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: x86_64 ia64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-ppc64-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: x86_64 ia64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-ppc64le-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-s390-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 x86_64 ia64 aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-s390x-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 x86_64 ia64 aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cross-x86_64-gcc48-icecream-backend
# spec file
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,6 +23,7 @@
#
# spec file for package gcc (Version 4.0.1)
#
# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -41,17 +42,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif
@@ -94,7 +95,7 @@ ExclusiveArch: ppc64 ia64 s390x aarch64
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -145,6 +146,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -167,18 +172,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -260,6 +268,10 @@ gcc-obj-c++.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -278,6 +290,7 @@ gcc-obj-c++.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -287,6 +300,8 @@ gcc-obj-c++.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -518,7 +533,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -589,7 +604,6 @@ make %{?jobs:-j%jobs} all-host
%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc48-icecream-backend
Summary: Icecream backend for the GNU C Compiler
License: GPL-3.0+
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc48-icecream-backend
@@ -635,7 +649,7 @@ install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
@@ -680,6 +694,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%else
%files
%defattr(-,root,root)
/usr/share/icecream-envs

View File

@@ -20,17 +20,17 @@
%define build_with_mudflap 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%if "%{cross_arch}" == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%if "%{binutils_target}" == "arm"
%define canonical_target_abi -gnueabi
%endif

View File

@@ -301,7 +301,11 @@ Patch501: gcc48-bnc1028744.patch
Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -324,12 +328,15 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
@@ -915,7 +922,7 @@ A foreign function interface is the popular name for the interface that allows c
# PACKAGE-BEGIN
%package -n libffi@base_ver@-devel@variant@
Summary: Foreign Function Interface library development files
License: BSD 3-Clause
License: BSD-3-Clause
Group: Development/Languages/C and C++
Requires: libffi%{libffi_sover}@variant@ >= %{version}-%{release}
Provides: libffi-devel@variant@ = %{version}-%{release}
@@ -1068,6 +1075,10 @@ Results from running the gcc and target library testsuites.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -1086,6 +1097,7 @@ Results from running the gcc and target library testsuites.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -1095,6 +1107,8 @@ Results from running the gcc and target library testsuites.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -1670,7 +1684,7 @@ chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
%if %{biarch}
mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnat.so
chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
%endif
%endif

36
gcc48-bsc1142649.patch Normal file
View File

@@ -0,0 +1,36 @@
From b1bc0f50350a568e67ed731c4fec2c72847f15fe Mon Sep 17 00:00:00 2001
From: Ren Kimura <rkx1209dev@gmail.com>
Date: Tue, 23 Jul 2019 07:33:32 +0000
Subject: [PATCH] libiberty: Check zero value shstrndx in simple-object-elf.c
To: gcc-patches@gcc.gnu.org
From-SVN: r273718
---
libiberty/ChangeLog | 5 +++++
libiberty/simple-object-elf.c | 10 +++++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/libiberty/simple-object-elf.c b/libiberty/simple-object-elf.c
index 502388991a0..bdee963634d 100644
--- a/libiberty/simple-object-elf.c
+++ b/libiberty/simple-object-elf.c
@@ -548,7 +548,15 @@ simple_object_elf_match (unsigned char header[SIMPLE_OBJECT_MATCH_HEADER_LEN],
XDELETE (eor);
return NULL;
}
-
+
+ if (eor->shstrndx == 0)
+ {
+ *errmsg = "invalid ELF shstrndx == 0";
+ *err = 0;
+ XDELETE (eor);
+ return NULL;
+ }
+
return (void *) eor;
}
--
2.34.1

78
gcc48-bsc1161913.patch Normal file
View File

@@ -0,0 +1,78 @@
commit 5c8a1211b9873a1b69ef7b2fddae181535bc3b0a
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date: Tue Jan 28 15:43:44 2020 -0500
Fix for PR93272 - LRA: EH reg allocated to hold local variable
2020-01-28 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/93272
* ira-lives.c (process_out_of_region_eh_regs): New function.
(process_bb_node_lives): Call it.
diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c
index 31635dd3438..71c545ef105 100644
--- a/gcc/ira-lives.c
+++ b/gcc/ira-lives.c
@@ -1116,6 +1116,50 @@ find_call_crossed_cheap_reg (rtx insn)
return cheap_reg;
}
+#ifdef EH_RETURN_DATA_REGNO
+
+/* Add EH return hard registers as conflict hard registers to allocnos
+ living at end of BB. For most allocnos it is already done in
+ process_bb_node_lives when we processing input edges but it does
+ not work when and EH edge is edge out of the current region. This
+ function covers such out of region edges. */
+static void
+process_out_of_region_eh_regs (basic_block bb)
+{
+ edge e;
+ edge_iterator ei;
+ unsigned int i;
+ bitmap_iterator bi;
+ bool eh_p = false;
+
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ if ((e->flags & EDGE_EH)
+ && IRA_BB_NODE (e->dest)->parent != IRA_BB_NODE (bb)->parent)
+ eh_p = true;
+
+ if (! eh_p)
+ return;
+
+ EXECUTE_IF_SET_IN_BITMAP (df_get_live_out (bb), FIRST_PSEUDO_REGISTER, i, bi)
+ {
+ ira_allocno_t a = ira_curr_regno_allocno_map[i];
+ for (int n = ALLOCNO_NUM_OBJECTS (a) - 1; n >= 0; n--)
+ {
+ ira_object_t obj = ALLOCNO_OBJECT (a, n);
+ for (int k = 0; ; k++)
+ {
+ unsigned int regno = EH_RETURN_DATA_REGNO (k);
+ if (regno == INVALID_REGNUM)
+ break;
+ SET_HARD_REG_BIT (OBJECT_CONFLICT_HARD_REGS (obj), regno);
+ SET_HARD_REG_BIT (OBJECT_TOTAL_CONFLICT_HARD_REGS (obj), regno);
+ }
+ }
+ }
+}
+
+#endif
+
/* Process insns of the basic block given by its LOOP_TREE_NODE to
update allocno live ranges, allocno hard register conflicts,
intersected calls, and register pressure info for allocnos for the
@@ -1170,6 +1214,10 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node)
EXECUTE_IF_SET_IN_BITMAP (reg_live_out, FIRST_PSEUDO_REGISTER, j, bi)
mark_pseudo_regno_live (j);
+#ifdef EH_RETURN_DATA_REGNO
+ process_out_of_region_eh_regs (bb);
+#endif
+
freq = REG_FREQ_FROM_BB (bb);
if (freq == 0)
freq = 1;

105
gcc48-bsc1218020.patch Normal file
View File

@@ -0,0 +1,105 @@
From 75c7257f75227e3db09120e38562cf3a3c136ced Mon Sep 17 00:00:00 2001
From: James Greenhalgh <james.greenhalgh@arm.com>
Date: Thu, 23 May 2013 10:18:19 +0000
Subject: [PATCH] [AArch64] Fix possible wrong code generation when comparing
DImode values.
To: gcc-patches@gcc.gnu.org
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_cm<optab>di): Add clobber of CC_REGNUM to unsplit pattern.
From-SVN: r199241
---
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index 9069a73c46c..f91cf814acc 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -3280,7 +3280,8 @@
(COMPARISONS:DI
(match_operand:DI 1 "register_operand" "w,w,r")
(match_operand:DI 2 "aarch64_simd_reg_or_zero" "w,ZDz,r")
- )))]
+ )))
+ (clobber (reg:CC CC_REGNUM))]
"TARGET_SIMD"
"@
cm<n_optab>\t%d0, %d<cmp_1>, %d<cmp_2>
@@ -3291,15 +3292,7 @@
happening in the 'w' constraint cases. */
&& GP_REGNUM_P (REGNO (operands[0]))
&& GP_REGNUM_P (REGNO (operands[1]))"
- [(set (reg:CC CC_REGNUM)
- (compare:CC
- (match_dup 1)
- (match_dup 2)))
- (set (match_dup 0)
- (neg:DI
- (COMPARISONS:DI
- (match_operand 3 "cc_register" "")
- (const_int 0))))]
+ [(const_int 0)]
{
enum machine_mode mode = SELECT_CC_MODE (<CMP>, operands[1], operands[2]);
rtx cc_reg = aarch64_gen_compare_reg (<CMP>, operands[1], operands[2]);
@@ -3332,7 +3325,8 @@
(UCOMPARISONS:DI
(match_operand:DI 1 "register_operand" "w,r")
(match_operand:DI 2 "aarch64_simd_reg_or_zero" "w,r")
- )))]
+ )))
+ (clobber (reg:CC CC_REGNUM))]
"TARGET_SIMD"
"@
cm<n_optab>\t%d0, %d<cmp_1>, %d<cmp_2>
@@ -3342,17 +3336,9 @@
happening in the 'w' constraint cases. */
&& GP_REGNUM_P (REGNO (operands[0]))
&& GP_REGNUM_P (REGNO (operands[1]))"
- [(set (reg:CC CC_REGNUM)
- (compare:CC
- (match_dup 1)
- (match_dup 2)))
- (set (match_dup 0)
- (neg:DI
- (UCOMPARISONS:DI
- (match_operand 3 "cc_register" "")
- (const_int 0))))]
+ [(const_int 0)]
{
- enum machine_mode mode = SELECT_CC_MODE (<CMP>, operands[1], operands[2]);
+ enum machine_mode mode = CCmode;
rtx cc_reg = aarch64_gen_compare_reg (<CMP>, operands[1], operands[2]);
rtx comparison = gen_rtx_<CMP> (mode, operands[1], operands[2]);
emit_insn (gen_cstoredi_neg (operands[0], comparison, cc_reg));
@@ -3385,7 +3371,8 @@
(and:DI
(match_operand:DI 1 "register_operand" "w,r")
(match_operand:DI 2 "register_operand" "w,r"))
- (const_int 0))))]
+ (const_int 0))))
+ (clobber (reg:CC CC_REGNUM))]
"TARGET_SIMD"
"@
cmtst\t%d0, %d1, %d2
@@ -3395,16 +3382,7 @@
happening in the 'w' constraint cases. */
&& GP_REGNUM_P (REGNO (operands[0]))
&& GP_REGNUM_P (REGNO (operands[1]))"
- [(set (reg:CC_NZ CC_REGNUM)
- (compare:CC_NZ
- (and:DI (match_dup 1)
- (match_dup 2))
- (const_int 0)))
- (set (match_dup 0)
- (neg:DI
- (ne:DI
- (match_operand 3 "cc_register" "")
- (const_int 0))))]
+ [(const_int 0)]
{
rtx and_tree = gen_rtx_AND (DImode, operands[1], operands[2]);
enum machine_mode mode = SELECT_CC_MODE (NE, and_tree, const0_rtx);
--
2.35.3

582
gcc48-flive-patching.patch Normal file
View File

@@ -0,0 +1,582 @@
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 8ab7ae18102..6cede317c17 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -724,7 +724,7 @@ void varpool_node_set_remove (varpool_node_set, struct varpool_node *);
void dump_varpool_node_set (FILE *, varpool_node_set);
void debug_varpool_node_set (varpool_node_set);
void free_varpool_node_set (varpool_node_set);
-void ipa_discover_readonly_nonaddressable_vars (void);
+void ipa_discover_variable_flags (void);
bool cgraph_comdat_can_be_unshared_p (struct cgraph_node *);
bool varpool_externally_visible_p (struct varpool_node *, bool);
diff --git a/gcc/cif-code.def b/gcc/cif-code.def
index 55e0ef45b3b..75e5b4d8bbe 100644
--- a/gcc/cif-code.def
+++ b/gcc/cif-code.def
@@ -106,3 +106,9 @@
/* We know that the call will be optimized out. */
DEFCIFCODE(NEVER_EXECUTED, N_("never executed"))
+
+/* We can't inline because the user requests only static functions
+ but the function has external linkage for live patching purpose. */
+DEFCIFCODE(EXTERN_LIVE_ONLY_STATIC,
+ N_("function has external linkage when the user requests only"
+ " inlining static for live patching"))
diff --git a/gcc/common.opt b/gcc/common.opt
index ec4cafc448b..816e10e7a9d 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1206,6 +1206,24 @@ Common Report Var(flag_hoist_adjacent_loads) Optimization
Enable hoisting adjacent loads to encourage generating conditional move
instructions
+flive-patching
+Common RejectNegative Alias(flive-patching=,inline-clone) Optimization
+
+flive-patching=
+Common Report Joined RejectNegative Enum(live_patching_level) Var(flag_live_patching) Init(LIVE_PATCHING_NONE) Optimization
+-flive-patching=[inline-only-static|inline-clone] Control IPA
+optimizations to provide a safe compilation for live-patching. At the same
+time, provides multiple-level control on the enabled IPA optimizations.
+
+Enum
+Name(live_patching_level) Type(enum live_patching_level) UnknownError(unknown Live-Patching Level %qs)
+
+EnumValue
+Enum(live_patching_level) String(inline-only-static) Value(LIVE_PATCHING_INLINE_ONLY_STATIC)
+
+EnumValue
+Enum(live_patching_level) String(inline-clone) Value(LIVE_PATCHING_INLINE_CLONE)
+
floop-parallelize-all
Common Report Var(flag_loop_parallelize_all) Optimization
Mark all loops as parallel
@@ -1361,7 +1379,15 @@ Discover pure and const functions
fipa-reference
Common Report Var(flag_ipa_reference) Init(0) Optimization
-Discover readonly and non addressable static variables
+Discover read-only and non addressable static variables.
+
+fipa-reference-addressable
+Common Report Var(flag_ipa_reference_addressable) Init(0) Optimization
+Discover read-only, write-only and non-addressable static variables.
+
+fipa-stack-alignment
+Common Report Var(flag_ipa_stack_alignment) Init(1) Optimization
+Reduce stack alignment on call sites if possible.
fipa-matrix-reorg
Common Ignore
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index caf06c82d1d..4e8867ebf30 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -370,8 +370,9 @@ Objective-C and Objective-C++ Dialects}.
-fif-conversion2 -findirect-inlining @gol
-finline-functions -finline-functions-called-once -finline-limit=@var{n} @gol
-finline-small-functions -fipa-cp -fipa-cp-clone @gol
--fipa-pta -fipa-profile -fipa-pure-const -fipa-reference @gol
--fira-algorithm=@var{algorithm} @gol
+-fipa-pta -fipa-profile -fipa-pure-const -fipa-reference -fipa-reference-addressable @gol
+-fipa-stack-alignment -fira-algorithm=@var{algorithm} @gol
+-flive-patching=@var{level} @gol
-fira-region=@var{region} -fira-hoist-pressure @gol
-fira-loop-pressure -fno-ira-share-save-slots @gol
-fno-ira-share-spill-slots -fira-verbose=@var{n} @gol
@@ -6522,6 +6523,7 @@ compilation time.
-fipa-pure-const @gol
-fipa-profile @gol
-fipa-reference @gol
+-fipa-reference-addressable @gol
-fmerge-constants
-fsplit-wide-types @gol
-ftree-bit-ccp @gol
@@ -7111,6 +7113,65 @@ Perform a number of minor optimizations that are relatively expensive.
Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
+@item -flive-patching=@var{level}
+@opindex flive-patching
+Control GCC's optimizations to provide a safe compilation for live-patching.
+
+If the compiler's optimization uses a function's body or information extracted
+from its body to optimize/change another function, the latter is called an
+impacted function of the former. If a function is patched, its impacted
+functions should be patched too.
+
+The impacted functions are decided by the compiler's interprocedural
+optimizations. For example, inlining a function into its caller, cloning
+a function and changing its caller to call this new clone, or extracting
+a function's pureness/constness information to optimize its direct or
+indirect callers, etc.
+
+Usually, the more IPA optimizations enabled, the larger the number of
+impacted functions for each function. In order to control the number of
+impacted functions and computed the list of impacted function easily,
+we provide control to partially enable IPA optimizations on two different
+levels.
+
+The @var{level} argument should be one of the following:
+
+@table @samp
+
+@item inline-clone
+
+Only enable inlining and cloning optimizations, which includes inlining,
+cloning, interprocedural scalar replacement of aggregates and partial inlining.
+As a result, when patching a function, all its callers and its clones'
+callers need to be patched as well.
+
+@option{-flive-patching=inline-clone} disables the following optimization flags:
+@gccoptlist{-fwhole-program -fipa-pta -fipa-reference -fipa-ra @gol
+-fipa-icf -fipa-icf-functions -fipa-icf-variables @gol
+-fipa-bit-cp -fipa-vrp -fipa-pure-const -fipa-reference-addressable @gol
+-fipa-stack-alignment}
+
+@item inline-only-static
+
+Only enable inlining of static functions.
+As a result, when patching a static function, all its callers need to be
+patches as well.
+
+In addition to all the flags that -flive-patching=inline-clone disables,
+@option{-flive-patching=inline-only-static} disables the following additional
+optimization flags:
+@gccoptlist{-fipa-cp-clone -fipa-sra -fpartial-inlining -fipa-cp}
+
+@end table
+
+When -flive-patching specified without any value, the default value
+is "inline-clone".
+
+This flag is disabled by default.
+
+Note that -flive-patching is not supported with link-time optimizer.
+(@option{-flto}).
+
@item -free
@opindex free
Attempt to remove redundant extension instructions. This is especially
@@ -7459,6 +7520,16 @@ Discover which static variables do not escape the
compilation unit.
Enabled by default at @option{-O} and higher.
+@item -fipa-reference-addressable
+@opindex fipa-reference-addressable
+Discover read-only, write-only and non-addressable static variables.
+Enabled by default at @option{-O} and higher.
+
+@item -fipa-stack-alignment
+@opindex fipa-stack-alignment
+Reduce stack alignment on call sites if possible.
+Enabled by default.
+
@item -fipa-pta
@opindex fipa-pta
Perform interprocedural pointer analysis and interprocedural modification
diff --git a/gcc/final.c b/gcc/final.c
index d25b8e0b7e4..cf22d390945 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -4540,7 +4540,8 @@ rest_of_clean_state (void)
/* We can reduce stack alignment on call site only when we are sure that
the function body just produced will be actually used in the final
executable. */
- if (decl_binds_to_current_def_p (current_function_decl))
+ if (flag_ipa_stack_alignment
+ && decl_binds_to_current_def_p (current_function_decl))
{
unsigned int pref = crtl->preferred_stack_boundary;
if (crtl->stack_alignment_needed > crtl->preferred_stack_boundary)
diff --git a/gcc/flag-types.h b/gcc/flag-types.h
index 4fc5d33348e..590071f99ba 100644
--- a/gcc/flag-types.h
+++ b/gcc/flag-types.h
@@ -112,6 +112,14 @@ enum stack_reuse_level
SR_ALL
};
+/* The live patching level. */
+enum live_patching_level
+{
+ LIVE_PATCHING_NONE = 0,
+ LIVE_PATCHING_INLINE_ONLY_STATIC,
+ LIVE_PATCHING_INLINE_CLONE
+};
+
/* The algorithm used for the integrated register allocator (IRA). */
enum ira_algorithm
{
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 90b2a13fce9..33589cfab16 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -316,6 +316,13 @@ can_inline_edge_p (struct cgraph_edge *e, bool report)
: e->caller->symbol.decl))
&& !caller_growth_limits (e))
inlinable = false;
+ else if (callee->symbol.externally_visible
+ && !DECL_DISREGARD_INLINE_LIMITS (callee->symbol.decl)
+ && flag_live_patching == LIVE_PATCHING_INLINE_ONLY_STATIC)
+ {
+ e->inline_failed = CIF_EXTERN_LIVE_ONLY_STATIC;
+ inlinable = false;
+ }
/* Don't inline a function with a higher optimization level than the
caller. FIXME: this is really just tip of iceberg of handling
optimization attribute. */
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
index f3c483f67f9..3463b7655e9 100644
--- a/gcc/ipa-reference.c
+++ b/gcc/ipa-reference.c
@@ -675,7 +675,7 @@ propagate (void)
if (dump_file)
dump_cgraph (dump_file);
- ipa_discover_readonly_nonaddressable_vars ();
+ ipa_discover_variable_flags ();
generate_summary ();
/* Now we know what vars are really statics; prune out those that aren't. */
diff --git a/gcc/ipa.c b/gcc/ipa.c
index be377a70e1d..6bd215f35e6 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -474,7 +474,7 @@ symtab_remove_unreachable_nodes (bool before_inlining_p, FILE *file)
make sense to do it before early optimizations. */
void
-ipa_discover_readonly_nonaddressable_vars (void)
+ipa_discover_variable_flags (void)
{
struct varpool_node *vnode;
if (dump_file)
@@ -1018,7 +1018,7 @@ whole_program_function_and_variable_visibility (void)
{
function_and_variable_visibility (flag_whole_program);
if (optimize)
- ipa_discover_readonly_nonaddressable_vars ();
+ ipa_discover_variable_flags ();
return 0;
}
diff --git a/gcc/opts.c b/gcc/opts.c
index 55cd965282d..78a79daa6dc 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -429,6 +429,7 @@ static const struct default_options default_options_table[] =
{ OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fif_conversion2, NULL, 1 },
{ OPT_LEVELS_1_PLUS, OPT_fipa_pure_const, NULL, 1 },
{ OPT_LEVELS_1_PLUS, OPT_fipa_reference, NULL, 1 },
+ { OPT_LEVELS_1_PLUS, OPT_fipa_reference_addressable, NULL, 1 },
{ OPT_LEVELS_1_PLUS, OPT_fipa_profile, NULL, 1 },
{ OPT_LEVELS_1_PLUS, OPT_fmerge_constants, NULL, 1 },
{ OPT_LEVELS_1_PLUS, OPT_fshrink_wrap, NULL, 1 },
@@ -623,6 +624,106 @@ default_options_optimization (struct gcc_options *opts,
lang_mask, handlers, loc, dc);
}
+/* Control IPA optimizations based on different live patching LEVEL. */
+static void
+control_options_for_live_patching (struct gcc_options *opts,
+ struct gcc_options *opts_set,
+ enum live_patching_level level,
+ location_t loc)
+{
+ gcc_assert (level > LIVE_PATCHING_NONE);
+
+ switch (level)
+ {
+ case LIVE_PATCHING_INLINE_ONLY_STATIC:
+ if (opts_set->x_flag_ipa_cp_clone && opts->x_flag_ipa_cp_clone)
+ error_at (loc,
+ "%<-fipa-cp-clone%> is incompatible with "
+ "%<-flive-patching=inline-only-static%>");
+ else
+ opts->x_flag_ipa_cp_clone = 0;
+
+ if (opts_set->x_flag_ipa_sra && opts->x_flag_ipa_sra)
+ error_at (loc,
+ "%<-fipa-sra%> is incompatible with "
+ "%<-flive-patching=inline-only-static%>");
+ else
+ opts->x_flag_ipa_sra = 0;
+
+ if (opts_set->x_flag_partial_inlining && opts->x_flag_partial_inlining)
+ error_at (loc,
+ "%<-fpartial-inlining%> is incompatible with "
+ "%<-flive-patching=inline-only-static%>");
+ else
+ opts->x_flag_partial_inlining = 0;
+
+ if (opts_set->x_flag_ipa_cp && opts->x_flag_ipa_cp)
+ error_at (loc,
+ "%<-fipa-cp%> is incompatible with "
+ "%<-flive-patching=inline-only-static%>");
+ else
+ opts->x_flag_ipa_cp = 0;
+
+ /* FALLTHROUGH. */
+ case LIVE_PATCHING_INLINE_CLONE:
+ /* live patching should disable whole-program optimization. */
+ if (opts_set->x_flag_whole_program && opts->x_flag_whole_program)
+ error_at (loc,
+ "%<-fwhole-program%> is incompatible with "
+ "%<-flive-patching=inline-only-static|inline-clone%>");
+ else
+ opts->x_flag_whole_program = 0;
+
+ /* visibility change should be excluded by !flag_whole_program
+ && !in_lto_p && !flag_ipa_cp_clone && !flag_ipa_sra
+ && !flag_partial_inlining. */
+
+ if (opts_set->x_flag_ipa_pta && opts->x_flag_ipa_pta)
+ error_at (loc,
+ "%<-fipa-pta%> is incompatible with "
+ "%<-flive-patching=inline-only-static|inline-clone%>");
+ else
+ opts->x_flag_ipa_pta = 0;
+
+ if (opts_set->x_flag_ipa_reference && opts->x_flag_ipa_reference)
+ error_at (loc,
+ "%<-fipa-reference%> is incompatible with "
+ "%<-flive-patching=inline-only-static|inline-clone%>");
+ else
+ opts->x_flag_ipa_reference = 0;
+
+ if (opts_set->x_flag_ipa_pure_const && opts->x_flag_ipa_pure_const)
+ error_at (loc,
+ "%<-fipa-pure-const%> is incompatible with "
+ "%<-flive-patching=inline-only-static|inline-clone%>");
+ else
+ opts->x_flag_ipa_pure_const = 0;
+
+ /* FIXME: disable unreachable code removal. */
+
+ /* discovery of functions/variables with no address taken. */
+ if (opts_set->x_flag_ipa_reference_addressable
+ && opts->x_flag_ipa_reference_addressable)
+ error_at (loc,
+ "%<-fipa-reference-addressable%> is incompatible with "
+ "%<-flive-patching=inline-only-static|inline-clone%>");
+ else
+ opts->x_flag_ipa_reference_addressable = 0;
+
+ /* ipa stack alignment propagation. */
+ if (opts_set->x_flag_ipa_stack_alignment
+ && opts->x_flag_ipa_stack_alignment)
+ error_at (loc,
+ "%<-fipa-stack-alignment%> is incompatible with "
+ "%<-flive-patching=inline-only-static|inline-clone%>");
+ else
+ opts->x_flag_ipa_stack_alignment = 0;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+}
+
/* After all options at LOC have been read into OPTS and OPTS_SET,
finalize settings of those options and diagnose incompatible
combinations. */
@@ -831,6 +932,18 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
/* The -gsplit-dwarf option requires -gpubnames. */
if (opts->x_dwarf_split_debug_info)
opts->x_debug_generate_pub_sections = 1;
+
+ /* Currently live patching is not support for LTO. */
+ if (opts->x_flag_live_patching && opts->x_flag_lto)
+ sorry ("live patching is not supported with LTO");
+
+ /* Control IPA optimizations based on different -flive-patching level. */
+ if (opts->x_flag_live_patching)
+ {
+ control_options_for_live_patching (opts, opts_set,
+ opts->x_flag_live_patching,
+ loc);
+ }
}
#define LEFT_COLUMN 27
diff --git a/gcc/testsuite/gcc.dg/live-patching-1.c b/gcc/testsuite/gcc.dg/live-patching-1.c
new file mode 100644
index 00000000000..ab4738119b8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/live-patching-1.c
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -flive-patching=inline-only-static -fdump-ipa-inline" } */
+
+extern int sum, n, m;
+
+int foo (int a)
+{
+ return a + n;
+}
+
+static int bar (int b)
+{
+ return b * m;
+}
+
+int main()
+{
+ sum = foo (m) + bar (n);
+ return 0;
+}
+
+/* { dg-final { scan-ipa-dump "foo/0 function has external linkage when the user requests only inlining static for live patching" "inline" } } */
diff --git a/gcc/testsuite/gcc.dg/live-patching-2.c b/gcc/testsuite/gcc.dg/live-patching-2.c
new file mode 100644
index 00000000000..0dde4e9e0c0
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/live-patching-2.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target lto } */
+/* { dg-options "-O2 -flive-patching -flto" } */
+
+int main()
+{
+ return 0;
+}
+
+/* { dg-message "sorry, unimplemented: live patching is not supported with LTO" "-flive-patching and -flto together" { target *-*-* } 0 } */
diff --git a/gcc/testsuite/gcc.dg/live-patching-3.c b/gcc/testsuite/gcc.dg/live-patching-3.c
new file mode 100644
index 00000000000..b86f3c6e08a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/live-patching-3.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -flive-patching -fwhole-program" } */
+
+int main()
+{
+ return 0;
+}
+
+/* { dg-message "'-fwhole-program' is incompatible with '-flive-patching=inline-only-static|inline-clone" "" {target "*-*-*"} 0 } */
diff --git a/gcc/testsuite/gcc.dg/live-patching-4.c b/gcc/testsuite/gcc.dg/live-patching-4.c
new file mode 100644
index 00000000000..c3862a5bd7e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/live-patching-4.c
@@ -0,0 +1,23 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -flive-patching=inline-only-static -fdump-tree-einline" } */
+
+extern int sum, n, m;
+
+extern inline __attribute__((always_inline)) int foo (int a);
+inline __attribute__((always_inline)) int foo (int a)
+{
+ return a + n;
+}
+
+static int bar (int b)
+{
+ return b * m;
+}
+
+int main()
+{
+ sum = foo (m) + bar (n);
+ return 0;
+}
+
+/* { dg-final { scan-tree-dump "Inlining foo into main" "einline" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/writeonly-2.c b/gcc/testsuite/gcc.dg/tree-ssa/writeonly-2.c
new file mode 100644
index 00000000000..78893bd7fb8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/writeonly-2.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -fdump-tree-optimized -fno-ipa-reference-addressable" } */
+static struct a {int magic1,b;} a;
+volatile int magic2;
+static struct b {int a,b,c,d,e,f;} magic3;
+
+struct b foo();
+
+void
+t()
+{
+ a.magic1 = 1;
+ magic2 = 1;
+ magic3 = foo();
+}
+/* { dg-final { scan-tree-dump "magic1" "optimized"} } */
+/* { dg-final { scan-tree-dump "magic3" "optimized"} } */
+/* { dg-final { scan-tree-dump "magic2" "optimized"} } */
+/* { dg-final { scan-tree-dump "foo" "optimized"} } */
+
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/writeonly-3.c b/gcc/testsuite/gcc.dg/tree-ssa/writeonly-3.c
new file mode 100644
index 00000000000..b42d9374fe9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/writeonly-3.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -fdump-tree-optimized -flive-patching" } */
+static struct a {int magic1,b;} a;
+volatile int magic2;
+static struct b {int a,b,c,d,e,f;} magic3;
+
+struct b foo();
+
+void
+t()
+{
+ a.magic1 = 1;
+ magic2 = 1;
+ magic3 = foo();
+}
+/* { dg-final { scan-tree-dump "magic1" "optimized"} } */
+/* { dg-final { scan-tree-dump "magic3" "optimized"} } */
+/* { dg-final { scan-tree-dump "magic2" "optimized"} } */
+/* { dg-final { scan-tree-dump "foo" "optimized"} } */
+
diff --git a/gcc/testsuite/gcc.target/i386/ipa-stack-alignment-2.c b/gcc/testsuite/gcc.target/i386/ipa-stack-alignment-2.c
new file mode 100644
index 00000000000..8ba70000b7e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/ipa-stack-alignment-2.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-flive-patching -O" } */
+
+typedef struct {
+ long a;
+ long b[];
+} c;
+
+c *d;
+void e() { d->b[0] = 5; }
+void f() { e(); }
+
+/* { dg-final { scan-assembler "sub.*%.sp" } } */
diff --git a/gcc/testsuite/gcc.target/i386/ipa-stack-alignment.c b/gcc/testsuite/gcc.target/i386/ipa-stack-alignment.c
new file mode 100644
index 00000000000..1176b59aa5f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/ipa-stack-alignment.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-fno-ipa-stack-alignment -O" } */
+
+typedef struct {
+ long a;
+ long b[];
+} c;
+
+c *d;
+void e() { d->b[0] = 5; }
+void f() { e(); }
+
+/* { dg-final { scan-assembler "sub.*%.sp" } } */

282
gcc48-ipa-clones-dump.patch Normal file
View File

@@ -0,0 +1,282 @@
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index fd3aadee45d..c0f44ae0bdf 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -1313,6 +1313,14 @@ cgraph_remove_node (struct cgraph_node *node)
struct cgraph_node *n;
int uid = node->uid;
+ if (ipa_clones_dump_file && pointer_set_contains (cloned_nodes, node))
+ fprintf (ipa_clones_dump_file,
+ "Callgraph removal;%s;%d;%s;%d;%d\n",
+ symtab_node_asm_name ((symtab_node)node), node->symbol.order,
+ DECL_SOURCE_FILE (node->symbol.decl),
+ DECL_SOURCE_LINE (node->symbol.decl),
+ DECL_SOURCE_COLUMN (node->symbol.decl));
+
cgraph_call_node_removal_hooks (node);
cgraph_node_remove_callers (node);
cgraph_node_remove_callees (node);
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 8ab7ae18102..a272ccfa45e 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -655,6 +655,8 @@ bool cgraph_propagate_frequency (struct cgraph_node *node);
/* In cgraphunit.c */
struct asm_node *add_asm_node (tree);
extern FILE *cgraph_dump_file;
+extern FILE *ipa_clones_dump_file;
+extern struct pointer_set_t *cloned_nodes;
void cgraph_finalize_function (tree, bool);
void finalize_compilation_unit (void);
void compile (void);
@@ -673,7 +675,7 @@ struct cgraph_edge * cgraph_clone_edge (struct cgraph_edge *,
unsigned, gcov_type, int, bool);
struct cgraph_node * cgraph_clone_node (struct cgraph_node *, tree, gcov_type,
int, bool, vec<cgraph_edge_p>,
- bool);
+ bool, const char *);
tree clone_function_name (tree decl, const char *);
struct cgraph_node * cgraph_create_virtual_clone (struct cgraph_node *old_node,
vec<cgraph_edge_p>,
@@ -689,7 +691,7 @@ void cgraph_create_edge_including_clones (struct cgraph_node *,
cgraph_inline_failed_t);
void cgraph_materialize_all_clones (void);
struct cgraph_node * cgraph_copy_node_for_versioning (struct cgraph_node *,
- tree, vec<cgraph_edge_p>, bitmap);
+ tree, vec<cgraph_edge_p>, bitmap, const char *);
struct cgraph_node *cgraph_function_versioning (struct cgraph_node *,
vec<cgraph_edge_p>,
vec<ipa_replace_map_p, va_gc> *,
@@ -698,6 +700,9 @@ struct cgraph_node *cgraph_function_versioning (struct cgraph_node *,
void tree_function_versioning (tree, tree, vec<ipa_replace_map_p, va_gc> *,
bool, bitmap, bool, bitmap, basic_block);
+void dump_callgraph_transformation (cgraph_node *original,
+ cgraph_node *clone,
+ const char *suffix);
/* In cgraphbuild.c */
unsigned int rebuild_cgraph_edges (void);
void cgraph_rebuild_references (void);
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index 3a2e3d679e2..8ed34cbc6a7 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -158,6 +158,32 @@ cgraph_clone_edge (struct cgraph_edge *e, struct cgraph_node *n,
}
+void
+dump_callgraph_transformation (cgraph_node *original,
+ cgraph_node *clone,
+ const char *suffix)
+{
+ if (ipa_clones_dump_file)
+ {
+ fprintf (ipa_clones_dump_file,
+ "Callgraph clone;%s;%d;%s;%d;%d;<-;%s;%d;"
+ "%s;%d;%d;optimization:;%s\n",
+ symtab_node_asm_name ((symtab_node)original),
+ original->symbol.order,
+ DECL_SOURCE_FILE (original->symbol.decl),
+ DECL_SOURCE_LINE (original->symbol.decl),
+ DECL_SOURCE_COLUMN (original->symbol.decl),
+ symtab_node_asm_name ((symtab_node)clone),
+ clone->symbol.order, DECL_SOURCE_FILE (clone->symbol.decl),
+ DECL_SOURCE_LINE (clone->symbol.decl),
+ DECL_SOURCE_COLUMN (clone->symbol.decl),
+ suffix);
+
+ pointer_set_insert (cloned_nodes, original);
+ pointer_set_insert (cloned_nodes, clone);
+ }
+}
+
/* Create node representing clone of N executed COUNT times. Decrease
the execution counts from original node too.
The new clone will have decl set to DECL that may or may not be the same
@@ -173,7 +199,8 @@ struct cgraph_node *
cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq,
bool update_original,
vec<cgraph_edge_p> redirect_callers,
- bool call_duplication_hook)
+ bool call_duplication_hook,
+ const char *suffix)
{
struct cgraph_node *new_node = cgraph_create_empty_node ();
struct cgraph_edge *e;
@@ -240,6 +267,9 @@ cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq,
if (call_duplication_hook)
cgraph_call_node_duplication_hooks (n, new_node);
+
+ dump_callgraph_transformation (n, new_node, suffix);
+
return new_node;
}
@@ -306,7 +336,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
new_node = cgraph_clone_node (old_node, new_decl, old_node->count,
CGRAPH_FREQ_BASE, false,
- redirect_callers, false);
+ redirect_callers, false, suffix);
/* Update the properties.
Make clone visible only within this translation unit. Make sure
that is not weak also.
@@ -620,7 +650,8 @@ struct cgraph_node *
cgraph_copy_node_for_versioning (struct cgraph_node *old_version,
tree new_decl,
vec<cgraph_edge_p> redirect_callers,
- bitmap bbs_to_copy)
+ bitmap bbs_to_copy,
+ const char *suffix)
{
struct cgraph_node *new_version;
struct cgraph_edge *e;
@@ -661,6 +692,8 @@ cgraph_copy_node_for_versioning (struct cgraph_node *old_version,
cgraph_call_node_duplication_hooks (old_version, new_version);
+ dump_callgraph_transformation (old_version, new_version, suffix);
+
return new_version;
}
@@ -692,7 +725,7 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
bool skip_return,
bitmap bbs_to_copy,
basic_block new_entry_block,
- const char *clone_name)
+ const char *suffix)
{
tree old_decl = old_version_node->symbol.decl;
struct cgraph_node *new_version_node = NULL;
@@ -711,7 +744,7 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
= build_function_decl_skip_args (old_decl, args_to_skip, skip_return);
/* Generate a new name for the new version. */
- DECL_NAME (new_decl) = clone_function_name (old_decl, clone_name);
+ DECL_NAME (new_decl) = clone_function_name (old_decl, suffix);
SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl));
SET_DECL_RTL (new_decl, NULL);
@@ -723,7 +756,7 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
and update the edges of the new node. */
new_version_node =
cgraph_copy_node_for_versioning (old_version_node, new_decl,
- redirect_callers, bbs_to_copy);
+ redirect_callers, bbs_to_copy, suffix);
/* Copy the OLD_VERSION_NODE function tree to the new version. */
tree_function_versioning (old_decl, new_decl, tree_map, false, args_to_skip,
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 7dd2c1d5595..8608e84ba57 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -206,6 +206,8 @@ static void cgraph_analyze_function (struct cgraph_node *);
static void handle_alias_pairs (void);
FILE *cgraph_dump_file;
+FILE *ipa_clones_dump_file;
+struct pointer_set_t *cloned_nodes;
/* Linked list of cgraph asm nodes. */
struct asm_node *asm_nodes;
@@ -1957,8 +1959,13 @@ init_cgraph (void)
{
if (!cgraph_dump_file)
cgraph_dump_file = dump_begin (TDI_cgraph, NULL);
-}
+ if (!ipa_clones_dump_file)
+ ipa_clones_dump_file = dump_begin (TDI_clones, NULL);
+
+ if (!cloned_nodes)
+ cloned_nodes = pointer_set_create ();
+}
/* Perform simple optimizations based on callgraph. */
diff --git a/gcc/dumpfile.c b/gcc/dumpfile.c
index 7442a27540a..a5b19ad5165 100644
--- a/gcc/dumpfile.c
+++ b/gcc/dumpfile.c
@@ -52,6 +52,8 @@ static struct dump_file_info dump_files[TDI_end] =
{NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0},
{".cgraph", "ipa-cgraph", NULL, NULL, NULL, NULL, NULL, TDF_IPA,
0, 0, 0, 0, 0},
+ {".ipa-clones", "ipa-clones", NULL, NULL, NULL, NULL, NULL, TDF_IPA,
+ 0, 0, 0, 0, 0},
{".tu", "translation-unit", NULL, NULL, NULL, NULL, NULL, TDF_TREE,
0, 0, 0, 0, 1},
{".class", "class-hierarchy", NULL, NULL, NULL, NULL, NULL, TDF_TREE,
diff --git a/gcc/dumpfile.h b/gcc/dumpfile.h
index b912ccf02bb..ca509e14cd6 100644
--- a/gcc/dumpfile.h
+++ b/gcc/dumpfile.h
@@ -29,6 +29,7 @@ enum tree_dump_index
{
TDI_none, /* No dump */
TDI_cgraph, /* dump function call graph. */
+ TDI_clones, /* dump IPA cloning decisions. */
TDI_tu, /* dump the whole translation unit. */
TDI_class, /* dump class hierarchy. */
TDI_original, /* dump each function before optimizing it */
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c
index cac20fecc3b..e18ca646a76 100644
--- a/gcc/ipa-inline-transform.c
+++ b/gcc/ipa-inline-transform.c
@@ -168,9 +168,11 @@ clone_inlined_nodes (struct cgraph_edge *e, bool duplicate,
struct cgraph_node *n;
n = cgraph_clone_node (e->callee, e->callee->symbol.decl,
e->count, e->frequency,
- update_original, vNULL, true);
+ update_original, vNULL, true, "inlining to");
cgraph_redirect_edge_callee (e, n);
}
+
+ dump_callgraph_transformation (e->callee, e->caller, "inlining to");
}
else
symtab_dissolve_same_comdat_group_list ((symtab_node) e->callee);
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 90b2a13fce9..8f76a77d4ca 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1312,7 +1312,7 @@ recursive_inlining (struct cgraph_edge *edge,
/* We need original clone to copy around. */
master_clone = cgraph_clone_node (node, node->symbol.decl,
node->count, CGRAPH_FREQ_BASE,
- false, vNULL, true);
+ false, vNULL, true, "inlining to");
for (e = master_clone->callees; e; e = e->next_callee)
if (!e->inline_failed)
clone_inlined_nodes (e, true, false, NULL);
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 8cf57c6f937..ba77c3fbfb5 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -939,7 +939,7 @@ input_node (struct lto_file_decl_data *file_data,
{
node = cgraph_clone_node (cgraph (nodes[clone_ref]), fn_decl,
0, CGRAPH_FREQ_BASE, false,
- vNULL, false);
+ vNULL, false, NULL);
}
else
node = cgraph_get_create_node (fn_decl);
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index b0f18b552bb..46978a5c76a 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -4728,7 +4728,8 @@ ipa_tm_create_version (struct cgraph_node *old_node)
if (DECL_ONE_ONLY (new_decl))
DECL_COMDAT_GROUP (new_decl) = tm_mangle (DECL_COMDAT_GROUP (old_decl));
- new_node = cgraph_copy_node_for_versioning (old_node, new_decl, vNULL, NULL);
+ new_node = cgraph_copy_node_for_versioning (old_node, new_decl, vNULL, NULL,
+ NULL);
new_node->symbol.externally_visible = old_node->symbol.externally_visible;
new_node->lowered = true;
new_node->tm_clone = 1;

38
gcc48-pr63567.patch Normal file
View File

@@ -0,0 +1,38 @@
commit 7278465e24b3d5a399ae2474f12870a91ba6af62
Author: Marek Polacek <polacek@redhat.com>
Date: Fri Oct 17 21:02:54 2014 +0000
re PR c/63567 (Linux kernel build error due to non-static initializers)
PR c/63567
* c-typeck.c (digest_init): Allow initializing objects with static
storage duration with compound literals even in C99 and add pedwarn
for it.
* gcc.dg/pr61096-1.c: Change dg-error into dg-warning.
* gcc.dg/pr63567-1.c: New test.
* gcc.dg/pr63567-2.c: New test.
From-SVN: r216416
Index: gcc/c/c-typeck.c
===================================================================
--- gcc/c/c-typeck.c (revision 235439)
+++ gcc/c/c-typeck.c (working copy)
@@ -6223,13 +6223,15 @@ digest_init (location_t init_loc, tree t
inside_init = convert (type, inside_init);
if (require_constant
- && (code == VECTOR_TYPE || !flag_isoc99)
&& TREE_CODE (inside_init) == COMPOUND_LITERAL_EXPR)
{
/* As an extension, allow initializing objects with static storage
duration with compound literals (which are then treated just as
the brace enclosed list they contain). Also allow this for
vectors, as we can only assign them with compound literals. */
+ if (flag_isoc99 && code != VECTOR_TYPE)
+ pedwarn_init (init_loc, OPT_Wpedantic, "initializer element "
+ "is not constant");
tree decl = COMPOUND_LITERAL_EXPR_DECL (inside_init);
inside_init = DECL_INITIAL (decl);
}

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,27 +1,7 @@
#
# spec file for package gcc48-testresults
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# icecream 0
%define building_testsuite 1
%define run_tests 1
#
# spec file for package gcc48
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -35,6 +15,29 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define building_testsuite 1
%define run_tests 1
#
# spec file for package gcc48
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# norootforbuild
# icecream 0
# Ada currently fails to build on a few platforms, enable it only
# on those that work
# Note that AdaCore only supports %ix86, x86_64 and ia64
@@ -236,7 +239,7 @@ BuildRequires: gdb
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -313,6 +316,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -335,12 +342,15 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
@@ -348,7 +358,7 @@ Summary: Testsuite results
License: SUSE-Public-Domain
Group: Development/Languages/C and C++
%description
%description
Results from running the gcc and target library testsuites.
@@ -478,6 +488,10 @@ Results from running the gcc and target library testsuites.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -496,6 +510,7 @@ Results from running the gcc and target library testsuites.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -505,6 +520,8 @@ Results from running the gcc and target library testsuites.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -736,7 +753,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -829,14 +846,14 @@ mkdir ../testresults
%install
export NO_BRP_CHECK_BYTECODE_VERSION=true
cd obj-%{GCCDIST}
%if 0%{?run_tests:1}
%if 0%{?run_tests:1}
cp `find . -name "*.sum"` ../testresults/
cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
chmod 644 ../testresults/*
%endif
%if 0%{?run_tests:1}
%files
%files
%defattr(-,root,root)
%doc testresults/test_summary.txt
%doc testresults/*.sum

110
gcc48-texi2pod-fixes.patch Normal file
View File

@@ -0,0 +1,110 @@
From 386c402747d2bc6bad3e1bc2f9383d4d669576e0 Mon Sep 17 00:00:00 2001
From: Uros Bizjak <uros@gcc.gnu.org>
Date: Sat, 24 May 2014 08:38:31 +0200
Subject: [PATCH] texi2pod.pl: Force .pod file to not be a numbered list.
To: gcc-patches@gcc.gnu.org
* texi2pod.pl: Force .pod file to not be a numbered list.
From-SVN: r210889
---
contrib/ChangeLog | 18 +++++++++++-------
contrib/texi2pod.pl | 4 ++--
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl
index 5a4bbacdf5e..55b6ba75227 100755
--- a/contrib/texi2pod.pl
+++ b/contrib/texi2pod.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (C) 1999, 2000, 2001, 2003, 2010 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# This file is part of GCC.
@@ -337,7 +337,7 @@ while(<$inf>) {
$_ = "\n=item $1\n";
}
} else {
- $_ = "\n=item $ic\n";
+ $_ = "\n=item Z\&LT;\&GT;$ic\n";
$ic =~ y/A-Ya-y/B-Zb-z/;
$ic =~ s/(\d+)/$1 + 1/eg;
}
--
2.26.2
From 6f853fd4536b85da53ebe9897ecbce22602304f8 Mon Sep 17 00:00:00 2001
From: Mingjie Xing <mingjie.xing@gmail.com>
Date: Mon, 11 Aug 2014 07:29:41 +0000
Subject: [PATCH] texi2pod.pl (postprocess): Move command process for '@sc' to
the front of '@dfn'.
To: gcc-patches@gcc.gnu.org
* texi2pod.pl (postprocess): Move command process for '@sc' to the
front of '@dfn'. Add a new command process for '@t{...}', just print
the content.
From-SVN: r213808
---
contrib/ChangeLog | 6 ++++++
contrib/texi2pod.pl | 3 ++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl
index 55b6ba75227..eba1bcaa3cf 100755
--- a/contrib/texi2pod.pl
+++ b/contrib/texi2pod.pl
@@ -389,15 +389,16 @@ sub postprocess
# Formatting commands.
# Temporary escape for @r.
s/\@r\{([^\}]*)\}/R<$1>/g;
+ s/\@sc\{([^\}]*)\}/\U$1/g;
s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g;
s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g;
s/\@(?:samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g;
- s/\@sc\{([^\}]*)\}/\U$1/g;
s/\@acronym\{([^\}]*)\}/\U$1/g;
s/\@file\{([^\}]*)\}/F<$1>/g;
s/\@w\{([^\}]*)\}/S<$1>/g;
s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
s/\@\///g;
+ s/\@t\{([^\}]*)\}/$1/g;
# keep references of the form @ref{...}, print them bold
s/\@(?:ref)\{([^\}]*)\}/B<$1>/g;
--
2.26.2
From 4b5ed6cf575f29f17bad46f10a7b1c3f4a7bdd08 Mon Sep 17 00:00:00 2001
From: Uros Bizjak <uros@gcc.gnu.org>
Date: Tue, 4 Aug 2015 18:15:45 +0200
Subject: [PATCH] texi2pod.pl: Escape braces in regexp involving @strong{...}.
To: gcc-patches@gcc.gnu.org
* texi2pod.pl: Escape braces in regexp involving @strong{...}.
From-SVN: r226585
---
contrib/ChangeLog | 16 ++++++++++------
contrib/texi2pod.pl | 2 +-
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl
index eba1bcaa3cf..91bdbb5cea9 100755
--- a/contrib/texi2pod.pl
+++ b/contrib/texi2pod.pl
@@ -316,7 +316,7 @@ while(<$inf>) {
@columns = ();
for $column (split (/\s*\@tab\s*/, $1)) {
# @strong{...} is used a @headitem work-alike
- $column =~ s/^\@strong{(.*)}$/$1/;
+ $column =~ s/^\@strong\{(.*)\}$/$1/;
push @columns, $column;
}
$_ = "\n=item ".join (" : ", @columns)."\n";
--
2.26.2

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package gcc48
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# icecream 0
@@ -218,7 +218,7 @@ BuildRequires: gdb
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -295,6 +295,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -317,18 +321,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -338,11 +345,8 @@ Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
%package -n gcc48-32bit
Summary: The GNU C Compiler 32bit support
License: GPL-3.0+
Group: Development/Languages/C and C++
Requires: gcc48 = %{version}-%{release}
Requires: libgcc_s%{libgcc_s}-32bit >= %{version}-%{release}
@@ -374,7 +378,6 @@ This package contains 32bit support for the GNU Compiler Collection.
%package -n gcc48-64bit
Summary: The GNU C Compiler 64bit support
License: GPL-3.0+
Group: Development/Languages/C and C++
Requires: gcc48 = %{version}-%{release}
Requires: libgcc_s%{libgcc_s}-64bit >= %{version}-%{release}
@@ -400,10 +403,9 @@ Requires: glibc-devel-64bit
%description -n gcc48-64bit
This package contains 64bit support for the GNU Compiler Collection.
%package locale
Summary: Locale Data for the GNU Compiler Collection
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc48 = %{version}-%{release}
@@ -411,10 +413,9 @@ Requires: gcc48 = %{version}-%{release}
Locale data for the GNU Compiler Collection (GCC) to give error message
in the current locale.
%package c++
Summary: The GNU C++ Compiler
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc48 = %{version}-%{release}
Requires: libstdc++48-devel = %{version}-%{release}
@@ -424,7 +425,7 @@ This package contains the GNU compiler for C++.
%package -n libstdc++48-devel
Summary: Include Files and Libraries mandatory for Development
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Requires: glibc-devel
Requires: libstdc++%{libstdcxx_sover} >= %{version}-%{release}
@@ -435,9 +436,10 @@ Requires: libunwind-devel
%description -n libstdc++48-devel
This package contains all the headers and libraries of the standard C++
library. It is needed for compiling C++ code.
%package -n libstdc++48-devel-32bit
Summary: Include Files and Libraries mandatory for Development
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Requires: glibc-devel-32bit
Requires: libstdc++%{libstdcxx_sover}-32bit >= %{version}-%{release}
@@ -448,9 +450,10 @@ Requires: libunwind-devel
%description -n libstdc++48-devel-32bit
This package contains all the headers and libraries of the standard C++
library. It is needed for compiling C++ code.
%package -n libstdc++48-devel-64bit
Summary: Include Files and Libraries mandatory for Development
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Requires: glibc-devel-64bit
Requires: libstdc++%{libstdcxx_sover}-64bit >= %{version}-%{release}
@@ -462,10 +465,9 @@ Requires: libunwind-devel
This package contains all the headers and libraries of the standard C++
library. It is needed for compiling C++ code.
%package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
Summary: C compiler runtime library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Base
Provides: libgcc_s%{libgcc_s} = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -478,9 +480,10 @@ Libgcc is needed for dynamically linked C programs.
%post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix} -p /sbin/ldconfig
%postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix} -p /sbin/ldconfig
%package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
Summary: C compiler runtime library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Base
Provides: libgcc_s%{libgcc_s}-32bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -493,9 +496,10 @@ Libgcc is needed for dynamically linked C programs.
%post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit -p /sbin/ldconfig
%postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit -p /sbin/ldconfig
%package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
Summary: C compiler runtime library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Base
Provides: libgcc_s%{libgcc_s}-64bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -511,7 +515,7 @@ Libgcc is needed for dynamically linked C programs.
%package -n libgomp%{libgomp_sover}%{libgomp_suffix}
Summary: The GNU compiler collection OpenMP runtime library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Base
Provides: libgomp%{libgomp_sover} = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -528,9 +532,10 @@ option.
%post -n libgomp%{libgomp_sover}%{libgomp_suffix} -p /sbin/ldconfig
%postun -n libgomp%{libgomp_sover}%{libgomp_suffix} -p /sbin/ldconfig
%package -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
Summary: The GNU compiler collection OpenMP runtime library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Base
Provides: libgomp%{libgomp_sover}-32bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -547,9 +552,10 @@ option.
%post -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit -p /sbin/ldconfig
%postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit -p /sbin/ldconfig
%package -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
Summary: The GNU compiler collection OpenMP runtime library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Base
Provides: libgomp%{libgomp_sover}-64bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -569,7 +575,7 @@ option.
%package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
Summary: The standard C++ shared library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Libraries
Suggests: libstdc++%{libstdcxx_sover}-locale
Provides: libstdc++%{libstdcxx_sover} = %{version}-%{release}
@@ -584,9 +590,10 @@ The standard C++ library, needed for dynamically linked C++ programs.
%post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix} -p /sbin/ldconfig
%postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix} -p /sbin/ldconfig
%package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
Summary: The standard C++ shared library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Libraries
Suggests: libstdc++%{libstdcxx_sover}-locale
Provides: libstdc++%{libstdcxx_sover}-32bit = %{version}-%{release}
@@ -601,9 +608,10 @@ The standard C++ library, needed for dynamically linked C++ programs.
%post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit -p /sbin/ldconfig
%postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit -p /sbin/ldconfig
%package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
Summary: The standard C++ shared library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Libraries
Suggests: libstdc++%{libstdcxx_sover}-locale
Provides: libstdc++%{libstdcxx_sover}-64bit = %{version}-%{release}
@@ -621,7 +629,7 @@ The standard C++ library, needed for dynamically linked C++ programs.
%package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
Summary: Locale Data for the standard C++ shared library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Libraries
Provides: libstdc++%{libstdcxx_sover}-locale = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -631,10 +639,9 @@ Conflicts: %selfconflict libstdc++%{libstdcxx_sover}-locale
%description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
The standard C++ library locale data.
%package info
Summary: Documentation for the GNU compiler collection
License: GFDL-1.2
License: GFDL-1.2-only
Group: Documentation/Other
PreReq: %{install_info_prereq}
%if 0%{?suse_version} >= 1120
@@ -645,10 +652,9 @@ BuildArch: noarch
GNU info-pages for the GNU compiler collection covering both user-level
and internals documentation.
%package objc
Summary: GNU Objective C Compiler
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc48 = %{version}-%{release}
Requires: libobjc%{libobjc_sover} >= %{version}-%{release}
@@ -657,9 +663,10 @@ Requires: libobjc%{libobjc_sover} >= %{version}-%{release}
This package contains the GNU Objective C compiler. Objective C is an
object oriented language, created by Next Inc. and used in their
Nextstep OS. The source code is available in the gcc package.
%package objc-32bit
Summary: GNU Objective C Compiler
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc48 = %{version}-%{release}
Requires: libobjc%{libobjc_sover}-32bit >= %{version}-%{release}
@@ -668,9 +675,10 @@ Requires: libobjc%{libobjc_sover}-32bit >= %{version}-%{release}
This package contains the GNU Objective C compiler. Objective C is an
object oriented language, created by Next Inc. and used in their
Nextstep OS. The source code is available in the gcc package.
%package objc-64bit
Summary: GNU Objective C Compiler
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc48 = %{version}-%{release}
Requires: libobjc%{libobjc_sover}-64bit >= %{version}-%{release}
@@ -682,7 +690,7 @@ Nextstep OS. The source code is available in the gcc package.
%package -n libobjc%{libobjc_sover}%{libobjc_suffix}
Summary: Library for the GNU Objective C Compiler
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Libraries/Other
Provides: libobjc%{libobjc_sover} = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -695,9 +703,10 @@ The library for the GNU Objective C compiler.
%post -n libobjc%{libobjc_sover}%{libobjc_suffix} -p /sbin/ldconfig
%postun -n libobjc%{libobjc_sover}%{libobjc_suffix} -p /sbin/ldconfig
%package -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
Summary: Library for the GNU Objective C Compiler
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Libraries/Other
Provides: libobjc%{libobjc_sover}-32bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -710,9 +719,10 @@ The library for the GNU Objective C compiler.
%post -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit -p /sbin/ldconfig
%postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit -p /sbin/ldconfig
%package -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
Summary: Library for the GNU Objective C Compiler
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Libraries/Other
Provides: libobjc%{libobjc_sover}-64bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -728,7 +738,7 @@ The library for the GNU Objective C compiler.
%package obj-c++
Summary: GNU Objective C++ Compiler
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc48-c++ = %{version}-%{release}
Requires: gcc48-objc = %{version}-%{release}
@@ -738,20 +748,18 @@ This package contains the GNU Objective C++ compiler. Objective C++ is an
object oriented language, created by Next Inc. and used in their
Nextstep OS. The source code is available in the gcc package.
%package -n cpp48
Summary: The GCC Preprocessor
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/C and C++
%description -n cpp48
This Package contains just the preprocessor that is used by the X11
packages.
%package ada
Summary: GNU Ada95 Compiler Based on GCC (GNAT)
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc48 = %{version}-%{release}
Requires: libada48 = %{version}-%{release}
@@ -761,9 +769,10 @@ This package contains an Ada95 compiler and associated development
tools based on the GNU GCC technology. Ada95 is the object oriented
successor of the Ada83 language. To build this package from source you
must have installed a binary version to bootstrap the compiler.
%package ada-32bit
Summary: GNU Ada95 Compiler Based on GCC (GNAT)
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc48-32bit = %{version}-%{release}
Requires: libada48-32bit = %{version}-%{release}
@@ -773,9 +782,10 @@ This package contains an Ada95 compiler and associated development
tools based on the GNU GCC technology. Ada95 is the object oriented
successor of the Ada83 language. To build this package from source you
must have installed a binary version to bootstrap the compiler.
%package ada-64bit
Summary: GNU Ada95 Compiler Based on GCC (GNAT)
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc48-64bit = %{version}-%{release}
Requires: libada48-64bit = %{version}-%{release}
@@ -788,7 +798,7 @@ must have installed a binary version to bootstrap the compiler.
%package -n libada48
Summary: GNU Ada Runtime Libraries
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Libraries
Provides: libgnarl-4_8 = %{version}-%{release}
Conflicts: %selfconflict libgnarl-4_8
@@ -806,9 +816,10 @@ implementation of Distributed Systems Programming (GLADE) and the Posix
%post -n libada48 -p /sbin/ldconfig
%postun -n libada48 -p /sbin/ldconfig
%package -n libada48-32bit
Summary: GNU Ada Runtime Libraries
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Libraries
Provides: libgnarl-4_8-32bit = %{version}-%{release}
Conflicts: %selfconflict libgnarl-4_8-32bit
@@ -826,9 +837,10 @@ implementation of Distributed Systems Programming (GLADE) and the Posix
%post -n libada48-32bit -p /sbin/ldconfig
%postun -n libada48-32bit -p /sbin/ldconfig
%package -n libada48-64bit
Summary: GNU Ada Runtime Libraries
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: System/Libraries
Provides: libgnarl-4_8-64bit = %{version}-%{release}
Conflicts: %selfconflict libgnarl-4_8-64bit
@@ -849,7 +861,7 @@ implementation of Distributed Systems Programming (GLADE) and the Posix
%package fortran
Summary: The GNU Fortran Compiler and Support Files
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc48 = %{version}-%{release}
Requires: libgfortran%{libgfortran_sover} >= %{version}-%{release}
@@ -859,9 +871,10 @@ Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
%description fortran
This is the Fortran compiler of the GNU Compiler Collection (GCC).
%package fortran-32bit
Summary: The GNU Fortran Compiler and Support Files
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc48 = %{version}-%{release}
Requires: libgfortran%{libgfortran_sover}-32bit >= %{version}-%{release}
@@ -871,9 +884,10 @@ Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
%description fortran-32bit
This is the Fortran compiler of the GNU Compiler Collection (GCC).
%package fortran-64bit
Summary: The GNU Fortran Compiler and Support Files
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc48 = %{version}-%{release}
Requires: libgfortran%{libgfortran_sover}-64bit >= %{version}-%{release}
@@ -886,7 +900,7 @@ This is the Fortran compiler of the GNU Compiler Collection (GCC).
%package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
Summary: The GNU Fortran Compiler Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/Fortran
%ifarch %quadmath_arch
Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
@@ -903,9 +917,10 @@ of the GNU Compiler Collection (GCC).
%post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix} -p /sbin/ldconfig
%postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix} -p /sbin/ldconfig
%package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
Summary: The GNU Fortran Compiler Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/Fortran
%ifarch %quadmath_arch
Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
@@ -922,9 +937,10 @@ of the GNU Compiler Collection (GCC).
%post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit -p /sbin/ldconfig
%postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit -p /sbin/ldconfig
%package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
Summary: The GNU Fortran Compiler Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/Fortran
%ifarch %quadmath_arch
Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release}
@@ -944,7 +960,7 @@ of the GNU Compiler Collection (GCC).
%package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
Summary: The GNU Fortran Compiler Quadmath Runtime Library
License: LGPL-2.1
License: LGPL-2.1-only
Group: Development/Languages/Fortran
Provides: libquadmath%{libquadmath_sover} = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -959,9 +975,10 @@ operations.
%post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix} -p /sbin/ldconfig
%postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix} -p /sbin/ldconfig
%package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
Summary: The GNU Fortran Compiler Quadmath Runtime Library
License: LGPL-2.1
License: LGPL-2.1-only
Group: Development/Languages/Fortran
Provides: libquadmath%{libquadmath_sover}-32bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -976,9 +993,10 @@ operations.
%post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit -p /sbin/ldconfig
%postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit -p /sbin/ldconfig
%package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
Summary: The GNU Fortran Compiler Quadmath Runtime Library
License: LGPL-2.1
License: LGPL-2.1-only
Group: Development/Languages/Fortran
Provides: libquadmath%{libquadmath_sover}-64bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -996,7 +1014,7 @@ operations.
%package -n libmudflap48
Summary: The Mudflap Extension Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Provides: libmudflap%{libmudflap_sover} = %{version}-%{release}
Conflicts: %selfconflict libmudflap%{libmudflap_sover}
@@ -1009,9 +1027,10 @@ This is the Mudflap Extension Runtime Library.
%post -n libmudflap48 -p /sbin/ldconfig
%postun -n libmudflap48 -p /sbin/ldconfig
%package -n libmudflap48-32bit
Summary: The Mudflap Extension Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Provides: libmudflap%{libmudflap_sover}-32bit = %{version}-%{release}
Conflicts: %selfconflict libmudflap%{libmudflap_sover}-32bit
@@ -1024,9 +1043,10 @@ This is the Mudflap Extension Runtime Library.
%post -n libmudflap48-32bit -p /sbin/ldconfig
%postun -n libmudflap48-32bit -p /sbin/ldconfig
%package -n libmudflap48-64bit
Summary: The Mudflap Extension Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Provides: libmudflap%{libmudflap_sover}-64bit = %{version}-%{release}
Conflicts: %selfconflict libmudflap%{libmudflap_sover}-64bit
@@ -1056,6 +1076,7 @@ The runtime library needed to run programs compiled with the
%post -n libitm%{libitm_sover}%{libitm_suffix} -p /sbin/ldconfig
%postun -n libitm%{libitm_sover}%{libitm_suffix} -p /sbin/ldconfig
%package -n libitm%{libitm_sover}%{libitm_suffix}-32bit
Summary: The GNU Compiler Transactional Memory Runtime Library
License: MIT
@@ -1072,6 +1093,7 @@ The runtime library needed to run programs compiled with the
%post -n libitm%{libitm_sover}%{libitm_suffix}-32bit -p /sbin/ldconfig
%postun -n libitm%{libitm_sover}%{libitm_suffix}-32bit -p /sbin/ldconfig
%package -n libitm%{libitm_sover}%{libitm_suffix}-64bit
Summary: The GNU Compiler Transactional Memory Runtime Library
License: MIT
@@ -1105,6 +1127,7 @@ The runtime library needed to run programs compiled with the
%post -n libasan%{libasan_sover}%{libasan_suffix} -p /sbin/ldconfig
%postun -n libasan%{libasan_sover}%{libasan_suffix} -p /sbin/ldconfig
%package -n libasan%{libasan_sover}%{libasan_suffix}-32bit
Summary: The GNU Compiler Address Sanitizer Runtime Library
License: MIT
@@ -1121,6 +1144,7 @@ The runtime library needed to run programs compiled with the
%post -n libasan%{libasan_sover}%{libasan_suffix}-32bit -p /sbin/ldconfig
%postun -n libasan%{libasan_sover}%{libasan_suffix}-32bit -p /sbin/ldconfig
%package -n libasan%{libasan_sover}%{libasan_suffix}-64bit
Summary: The GNU Compiler Address Sanitizer Runtime Library
License: MIT
@@ -1154,6 +1178,7 @@ The runtime library needed to run programs compiled with the
%post -n libtsan%{libtsan_sover}%{libtsan_suffix} -p /sbin/ldconfig
%postun -n libtsan%{libtsan_sover}%{libtsan_suffix} -p /sbin/ldconfig
%package -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
Summary: The GNU Compiler Thread Sanitizer Runtime Library
License: MIT
@@ -1170,6 +1195,7 @@ The runtime library needed to run programs compiled with the
%post -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit -p /sbin/ldconfig
%postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit -p /sbin/ldconfig
%package -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
Summary: The GNU Compiler Thread Sanitizer Runtime Library
License: MIT
@@ -1189,7 +1215,7 @@ The runtime library needed to run programs compiled with the
%package -n libatomic%{libatomic_sover}%{libatomic_suffix}
Summary: The GNU Compiler Atomic Operations Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Provides: libatomic%{libatomic_sover} = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -1202,9 +1228,10 @@ The runtime library for atomic operations of the GNU Compiler Collection (GCC).
%post -n libatomic%{libatomic_sover}%{libatomic_suffix} -p /sbin/ldconfig
%postun -n libatomic%{libatomic_sover}%{libatomic_suffix} -p /sbin/ldconfig
%package -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
Summary: The GNU Compiler Atomic Operations Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Provides: libatomic%{libatomic_sover}-32bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -1217,9 +1244,10 @@ The runtime library for atomic operations of the GNU Compiler Collection (GCC).
%post -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit -p /sbin/ldconfig
%postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit -p /sbin/ldconfig
%package -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
Summary: The GNU Compiler Atomic Operations Runtime Library
License: GPL-3.0-with-GCC-exception
License: GPL-3.0-only WITH GCC-exception-3.1
Group: Development/Languages/C and C++
Provides: libatomic%{libatomic_sover}-64bit = %{version}-%{release}
# Only one package may provide this - allows multiple gcc versions
@@ -1257,7 +1285,7 @@ Source code for this package is in gcc.
%package -n gcc48-java
Summary: The GNU Java Compiler
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Java
Requires: gcc48 = %{version}
Requires: libgcj48-devel = %{version}-%{release}
@@ -1265,7 +1293,6 @@ Requires: libgcj48-devel = %{version}-%{release}
%description -n gcc48-java
The Java compiler from the GCC-tools-suite.
%package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
Summary: Fake library for BC-ABI compatibility.
License: GPL-2.0-with-classpath-exception
@@ -1290,7 +1317,6 @@ binaries built with the BC-ABI link against a constant SONAME.
This way, BC-ABI binaries continue to work if the SONAME underlying
libgcj.so changes.
%package -n libgcj48-jar
Summary: Java runtime library (jar files).
License: GPL-2.0-with-classpath-exception
@@ -1299,7 +1325,6 @@ Group: Development/Libraries/Java
%description -n libgcj48-jar
These are the jar files that go along with the gcj front end to gcc.
%package -n libgcj48-devel
Summary: Include Files and Libraries mandatory for Development.
License: GPL-2.0-with-classpath-exception
@@ -1320,7 +1345,6 @@ Requires: libunwind-devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%package -n gcc48-gij
Summary: Java Bytecode Interpreter for gcc
License: GPL-2.0-with-classpath-exception
@@ -1330,10 +1354,9 @@ Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
%description -n gcc48-gij
This package contains the java bytecode interpreter gij and related tools.
%package -n libstdc++48-doc
Summary: Documentation for the GNU C++ standard library
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Documentation/HTML
%if 0%{?suse_version} >= 1120
BuildArch: noarch
@@ -1342,7 +1365,6 @@ BuildArch: noarch
%description -n libstdc++48-doc
Extensive HTML documentation for the GNU C++ standard library.
%package -n libffi%{libffi_sover}%{libffi_suffix}
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -1358,6 +1380,7 @@ A foreign function interface is the popular name for the interface that allows c
%post -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig
%postun -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig
%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -1373,6 +1396,7 @@ A foreign function interface is the popular name for the interface that allows c
%post -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig
%postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig
%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -1399,6 +1423,7 @@ Conflicts: %selfconflict libffi-devel
%description -n libffi48-devel
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-32bit
Summary: Foreign Function Interface library development files
License: BSD-3-Clause
@@ -1409,6 +1434,7 @@ Conflicts: %selfconflict libffi-devel-32bit
%description -n libffi48-devel-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 libffi48-devel-64bit
Summary: Foreign Function Interface library development files
License: BSD-3-Clause
@@ -1555,6 +1581,10 @@ Results from running the gcc and target library testsuites.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -1573,6 +1603,7 @@ Results from running the gcc and target library testsuites.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -1582,6 +1613,8 @@ Results from running the gcc and target library testsuites.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -1813,7 +1846,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -2147,7 +2180,7 @@ chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
%if %{biarch}
mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnat.so
chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
%endif
%endif
@@ -2174,7 +2207,7 @@ for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
mv $l.new $l
done
%if 0%{?run_tests:1}
%if 0%{?run_tests:1}
cp `find . -name "*.sum"` ../testresults/
cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
chmod 644 ../testresults/*
@@ -2291,7 +2324,7 @@ mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{b
%ifarch %itm_arch
mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
%endif
%if %{build_fortran}
%if %{build_fortran}
%ifarch %quadmath_arch
mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
%endif
@@ -2316,7 +2349,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc48-locale.lang
%install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
%if %{build_fortran}
%if %{build_fortran}
%install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
%ifarch %quadmath_arch
%install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
@@ -3007,6 +3040,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc48-locale.lang
%post -n libffi48-devel
%install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
%postun -n libffi48-devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,26 +1,7 @@
#
# spec file for package libffi48
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# icecream 0
%define building_libffi 1
#
# spec file for package gcc48
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -34,6 +15,28 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define building_libffi 1
#
# spec file for package gcc48
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# norootforbuild
# icecream 0
# Ada currently fails to build on a few platforms, enable it only
# on those that work
# Note that AdaCore only supports %ix86, x86_64 and ia64
@@ -235,7 +238,7 @@ BuildRequires: gdb
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -312,6 +315,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -334,18 +341,21 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
Summary: The GNU C Compiler and Support Files
License: GPL-3.0-or-later
%description
Core package for the GNU Compiler Collection, including the C language
@@ -354,6 +364,7 @@ frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
%package -n libffi%{libffi_sover}%{libffi_suffix}
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -369,6 +380,7 @@ A foreign function interface is the popular name for the interface that allows c
%post -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig
%postun -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig
%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -384,6 +396,7 @@ A foreign function interface is the popular name for the interface that allows c
%post -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig
%postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig
%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -410,6 +423,7 @@ Conflicts: %selfconflict libffi-devel
%description -n libffi48-devel
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-32bit
Summary: Foreign Function Interface library development files
License: BSD-3-Clause
@@ -420,6 +434,7 @@ Conflicts: %selfconflict libffi-devel-32bit
%description -n libffi48-devel-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 libffi48-devel-64bit
Summary: Foreign Function Interface library development files
License: BSD-3-Clause
@@ -566,6 +581,10 @@ Results from running the gcc and target library testsuites.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -584,6 +603,7 @@ Results from running the gcc and target library testsuites.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -593,6 +613,8 @@ Results from running the gcc and target library testsuites.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -824,7 +846,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -993,7 +1015,7 @@ chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
%if %{biarch}
mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnat.so
chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
%endif
%endif
@@ -1020,7 +1042,7 @@ for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
mv $l.new $l
done
%if 0%{?run_tests:1}
%if 0%{?run_tests:1}
cp `find . -name "*.sum"` ../testresults/
cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
chmod 644 ../testresults/*
@@ -1129,6 +1151,7 @@ rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
%post -n libffi48-devel
%install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
%postun -n libffi48-devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Dec 19 12:02:30 UTC 2023 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1218020.patch to fix miscompile of wcstod on aarch64.
[bsc#1218020]
-------------------------------------------------------------------
Tue Mar 29 14:21:56 UTC 2022 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1142649.patch. [bsc#1142649, CVE-2019-14250]
-------------------------------------------------------------------
Thu Apr 29 06:48:08 UTC 2021 - Richard Biener <rguenther@suse.com>
- Add gcc48-texi2pod-fixes.patch to fix manpage build with newer
perl versions. [bsc#1185395]
-------------------------------------------------------------------
Thu Nov 12 11:32:08 UTC 2020 - Richard Biener <rguenther@suse.com>
- Fix 32bit libgnat.so link. [bsc#1178675]
-------------------------------------------------------------------
Wed Oct 21 12:30:38 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-pr63567.patch to allow initializing objects with static
storage duration with compound literals even in C99. [bsc#1177947]
-------------------------------------------------------------------
Wed Jan 29 09:52:24 UTC 2020 - Richard Biener <rguenther@suse.com>
- Add gcc48-bsc1161913.patch to fix register allocation issue with
exception handling code on s390x. [bsc#1161913]
-------------------------------------------------------------------
Wed Jun 12 13:40:41 UTC 2019 - Martin Liška <mliska@suse.cz>
- Add gcc48-flive-patching.patch patch. [bsc#1071995, fate#323487]
- Add gcc48-ipa-clones-dump.patch in order to provide .ipa-clones dump
files. [bsc#1071995, fate#323487]
-------------------------------------------------------------------
Mon May 27 21:20:36 UTC 2019 - matz@suse.com

View File

@@ -1,26 +1,7 @@
#
# spec file for package libgcj48
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# icecream 0
%define building_libjava 1
#
# spec file for package gcc48
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -34,6 +15,28 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define building_libjava 1
#
# spec file for package gcc48
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# norootforbuild
# icecream 0
# Ada currently fails to build on a few platforms, enable it only
# on those that work
# Note that AdaCore only supports %ix86, x86_64 and ia64
@@ -235,7 +238,7 @@ BuildRequires: gdb
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: https://gcc.gnu.org/
URL: https://gcc.gnu.org/
Version: 4.8.5
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
@@ -312,6 +315,10 @@ Patch502: gcc48-bnc1050947.patch
Patch503: gcc48-stack-probe.diff
Patch504: gcc48-mindirect-branch.diff
Patch505: gcc48-backport-pr86952-jump-tables.patch
Patch506: gcc48-bsc1161913.patch
Patch507: gcc48-pr63567.patch
Patch508: gcc48-bsc1142649.patch
Patch509: gcc48-bsc1218020.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -334,12 +341,15 @@ Patch83: gcc48-bnc988274.patch
Patch84: gcc48-bnc1011348-dr1288.patch
Patch85: gcc48-bnc1044016.patch
Patch86: gcc48-bnc1087932.patch
Patch87: gcc48-texi2pod-fixes.patch
# Patches from us
Patch100: gcc48-bnc976627.patch
Patch101: gcc48-bnc1082130.patch
Patch102: gcc48-aarch64-hack-reload-alt.diff
Patch103: gcc48-build-sle15.diff
Patch104: gcc48-update-ucontext.diff
Patch105: gcc48-flive-patching.patch
Patch106: gcc48-ipa-clones-dump.patch
#testpatch end
@@ -356,7 +366,7 @@ Conflicts: %selfconflict libgij%{libgcj_sover}
Provides: libgcj-tools%{libgcj_sover} = %{version}-%{release}
Conflicts: %selfconflict libgcj-tools%{libgcj_sover}
%description
%description
This library is needed if you want to use the GNU Java compiler, gcj.
Source code for this package is in gcc.
@@ -366,7 +376,7 @@ Source code for this package is in gcc.
%package -n gcc48-java
Summary: The GNU Java Compiler
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Development/Languages/Java
Requires: gcc48 = %{version}
Requires: libgcj48-devel = %{version}-%{release}
@@ -374,7 +384,6 @@ Requires: libgcj48-devel = %{version}-%{release}
%description -n gcc48-java
The Java compiler from the GCC-tools-suite.
%package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
Summary: Fake library for BC-ABI compatibility.
License: GPL-2.0-with-classpath-exception
@@ -399,7 +408,6 @@ binaries built with the BC-ABI link against a constant SONAME.
This way, BC-ABI binaries continue to work if the SONAME underlying
libgcj.so changes.
%package -n libgcj48-jar
Summary: Java runtime library (jar files).
License: GPL-2.0-with-classpath-exception
@@ -408,7 +416,6 @@ Group: Development/Libraries/Java
%description -n libgcj48-jar
These are the jar files that go along with the gcj front end to gcc.
%package -n libgcj48-devel
Summary: Include Files and Libraries mandatory for Development.
License: GPL-2.0-with-classpath-exception
@@ -429,7 +436,6 @@ Requires: libunwind-devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%package -n gcc48-gij
Summary: Java Bytecode Interpreter for gcc
License: GPL-2.0-with-classpath-exception
@@ -439,10 +445,9 @@ Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
%description -n gcc48-gij
This package contains the java bytecode interpreter gij and related tools.
%package -n libstdc++48-doc
Summary: Documentation for the GNU C++ standard library
License: GPL-3.0+
License: GPL-3.0-or-later
Group: Documentation/HTML
%if 0%{?suse_version} >= 1120
BuildArch: noarch
@@ -451,7 +456,6 @@ BuildArch: noarch
%description -n libstdc++48-doc
Extensive HTML documentation for the GNU C++ standard library.
%package -n libffi%{libffi_sover}%{libffi_suffix}
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -467,6 +471,7 @@ A foreign function interface is the popular name for the interface that allows c
%post -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig
%postun -n libffi%{libffi_sover}%{libffi_suffix} -p /sbin/ldconfig
%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -482,6 +487,7 @@ A foreign function interface is the popular name for the interface that allows c
%post -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig
%postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit -p /sbin/ldconfig
%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
Summary: Foreign Function Interface library
License: BSD-3-Clause
@@ -508,6 +514,7 @@ Conflicts: %selfconflict libffi-devel
%description -n libffi48-devel
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-32bit
Summary: Foreign Function Interface library development files
License: BSD-3-Clause
@@ -518,6 +525,7 @@ Conflicts: %selfconflict libffi-devel-32bit
%description -n libffi48-devel-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 libffi48-devel-64bit
Summary: Foreign Function Interface library development files
License: BSD-3-Clause
@@ -664,6 +672,10 @@ Results from running the gcc and target library testsuites.
%patch503
%patch504 -p1
%patch505 -p1
%patch506 -p1
%patch507
%patch508 -p1
%patch509 -p1
%patch51
%patch55
%patch57
@@ -682,6 +694,7 @@ Results from running the gcc and target library testsuites.
%patch84
%patch85
%patch86
%patch87 -p1
%patch100
%patch101
%ifarch aarch64
@@ -691,6 +704,8 @@ Results from running the gcc and target library testsuites.
%endif
%patch103
%patch104 -p1
%patch105 -p1
%patch106 -p1
#test patching end
@@ -922,7 +937,7 @@ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
--enable-fix-cortex-a53-835769 \
--enable-fix-cortex-a53-843419 \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
@@ -1179,7 +1194,7 @@ chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
%if %{biarch}
mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnat.so
chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
%endif
%endif
@@ -1206,7 +1221,7 @@ for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
mv $l.new $l
done
%if 0%{?run_tests:1}
%if 0%{?run_tests:1}
cp `find . -name "*.sum"` ../testresults/
cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
chmod 644 ../testresults/*
@@ -1323,7 +1338,7 @@ mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{b
%ifarch %itm_arch
mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
%endif
%if %{build_fortran}
%if %{build_fortran}
%ifarch %quadmath_arch
mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
%endif
@@ -1364,7 +1379,7 @@ mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%
%if %{build_java}
%if %{build_libjava}
%files
%files
%defattr(-,root,root)
%dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
%dir %{_libdir}/gcc
@@ -1485,6 +1500,7 @@ mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%
%post -n libffi48-devel
%install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
%postun -n libffi48-devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz