Compare commits

..

No commits in common. "factory" and "factory" have entirely different histories.

42 changed files with 2204 additions and 1023 deletions

View File

@ -23,6 +23,8 @@
<flavor>cross-hppa-gcc13</flavor>
<flavor>cross-arm-none-gcc13-bootstrap</flavor>
<flavor>cross-arm-none-gcc13</flavor>
<flavor>cross-epiphany-gcc13-bootstrap</flavor>
<flavor>cross-epiphany-gcc13</flavor>
<flavor>cross-riscv64-elf-gcc13-bootstrap</flavor>
<flavor>cross-riscv64-elf-gcc13</flavor>
<flavor>cross-rx-gcc13-bootstrap</flavor>

View File

@ -115,7 +115,7 @@ add_cross cross-mips-gcc$base_ver mips mips-suse-linux %define gcc_icecream 1
add_cross cross-hppa-gcc$base_ver-bootstrap hppa hppa-suse-linux %define gcc_libc_bootstrap 1
add_cross cross-hppa-gcc$base_ver hppa hppa-suse-linux %define gcc_icecream 1
add_newlib_cross cross-arm-none-gcc$base_ver arm-none arm-none-eabi
#add_newlib_cross cross-epiphany-gcc$base_ver epiphany epiphany-elf
add_newlib_cross cross-epiphany-gcc$base_ver epiphany epiphany-elf
#add_newlib_cross cross-nds32le-gcc$base_ver nds32le nds32le-elf
add_newlib_cross cross-riscv64-elf-gcc$base_ver riscv64 riscv64-elf
#add_newlib_cross cross-rl78-gcc$base_ver rl78 rl78-elf

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -108,7 +108,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -139,7 +139,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -147,7 +146,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -370,12 +368,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

File diff suppressed because it is too large Load Diff

1082
cross-epiphany-gcc13.spec Normal file

File diff suppressed because it is too large Load Diff

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -108,7 +108,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -139,7 +139,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -147,7 +146,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -370,12 +368,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -108,7 +108,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -139,7 +139,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -147,7 +146,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -370,12 +368,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -108,7 +108,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -139,7 +139,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -147,7 +146,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -370,12 +368,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -107,7 +107,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -138,7 +138,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -146,7 +145,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple
@ -369,12 +367,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

BIN
gcc-13.3.0+git8781.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b28899078a9457c5e406db83d8e891ef71b5f2568998c0166f29f4619999ce33
size 87282684

View File

@ -204,7 +204,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 1
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -390,7 +390,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -398,7 +397,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
# GCC-TESTSUITE-DELETE-BEGIN
# SRC-COMMON-END
@ -1367,12 +1365,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -1,566 +0,0 @@
From 5ceea2ac106d6dd1aa8175670b15a801316cf1c9 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 30 Apr 2024 09:52:13 +0100
Subject: [PATCH] libstdc++: Fix std::chrono::tzdb to work with vanguard format
To: gcc-patches@gcc.gnu.org
From: Jonathan Wakely <jwakely@redhat.com>
I found some issues in the std::chrono::tzdb parser by testing the
tzdata "vanguard" format, which uses new features that aren't enabled in
the "main" and "rearguard" data formats.
Since 2024a the keyword "minimum" is no longer valid for the FROM and TO
fields in a Rule line, which means that "m" is now a valid abbreviation
for "maximum". Previously we expected either "mi" or "ma". For backwards
compatibility, a FROM field beginning with "mi" is still supported and
is treated as 1900. The "maximum" keyword is only allowed in TO now,
because it makes no sense in FROM. To support these changes the
minmax_year and minmax_year2 classes for parsing FROM and TO are
replaced with a single years_from_to class that reads both fields.
The vanguard format makes use of %z in Zone FORMAT fields, which caused
an exception to be thrown from ZoneInfo::set_abbrev because no % or /
characters were expected when a Zone doesn't use a named Rule. The
ZoneInfo::to(sys_info&) function now uses format_abbrev_str to replace
any %z with the current offset. Although format_abbrev_str also checks
for %s and STD/DST formats, those only make sense when a named Rule is
in effect, so won't occur when ZoneInfo::to(sys_info&) is used.
Since making this change on trunk, the tzdata-2024b release started
using %z in the main format, not just vanguard. This makes a backport to
release branches necessary (see PR 116657).
This change also implements a feature that has always been missing from
time_zone::_M_get_sys_info: finding the Rule that is active before the
specified time point, so that we can correctly handle %s in the FORMAT
for the first new sys_info that gets created. This requires implementing
a poorly documented feature of zic, to get the LETTERS field from a
later transition, as described at
https://mm.icann.org/pipermail/tz/2024-April/058891.html
In order for this to work we need to be able to distinguish an empty
letters field (as used by CE%sT where the variable part is either empty
or "S") from "the letters field is not known for this transition". The
tzdata file uses "-" for an empty letters field, which libstdc++ was
previously replacing with "" when the Rule was parsed. Instead, we now
preserve the "-" in the Rule object, so that "" can be used for the case
where we don't know the letters (and so need to decide it).
libstdc++-v3/ChangeLog:
* src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove.
(years_from_to): New class replacing minmax_year and
minmax_year2.
(format_abbrev_str, select_std_or_dst_abbrev): Move earlier in
the file. Handle "-" for letters.
(ZoneInfo::to): Use format_abbrev_str to expand %z.
(ZoneInfo::set_abbrev): Remove exception. Change parameter from
reference to value.
(operator>>(istream&, Rule&)): Do not clear letters when it
contains "-".
(time_zone::_M_get_sys_info): Add missing logic to find the Rule
in effect before the time point.
* testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using
"GMT" as the Zone name, not as a Link to "Etc/GMT".
* testsuite/std/time/time_zone/sys_info_abbrev.cc: New test.
(cherry picked from commit 0ca8d56f2085715f27ee536c6c344bc47af49cdd)
---
libstdc++-v3/src/c++20/tzdb.cc | 265 +++++++++++-------
.../std/time/time_zone/sys_info_abbrev.cc | 106 +++++++
libstdc++-v3/testsuite/std/time/tzdb/1.cc | 6 +-
3 files changed, 274 insertions(+), 103 deletions(-)
create mode 100644 libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc
index e058caf27d8..034e72f0274 100644
--- a/libstdc++-v3/src/c++20/tzdb.cc
+++ b/libstdc++-v3/src/c++20/tzdb.cc
@@ -342,51 +342,103 @@ namespace std::chrono
friend istream& operator>>(istream&, on_day&);
};
- // Wrapper for chrono::year that reads a year, or one of the keywords
- // "minimum" or "maximum", or an unambiguous prefix of a keyword.
- struct minmax_year
+ // Wrapper for two chrono::year values, which reads the FROM and TO
+ // fields of a Rule line. The FROM field is a year and TO is a year or
+ // one of the keywords "maximum" or "only" (or an abbreviation of those).
+ // For backwards compatibility, the keyword "minimum" is recognized
+ // for FROM and interpreted as 1900.
+ struct years_from_to
{
- year& y;
+ year& from;
+ year& to;
- friend istream& operator>>(istream& in, minmax_year&& y)
+ friend istream& operator>>(istream& in, years_from_to&& yy)
{
- if (ws(in).peek() == 'm') // keywords "minimum" or "maximum"
+ string s;
+ auto c = ws(in).peek();
+ if (c == 'm') [[unlikely]] // keyword "minimum"
{
- string s;
- in >> s; // extract the rest of the word, but only look at s[1]
- if (s[1] == 'a')
- y.y = year::max();
- else if (s[1] == 'i')
- y.y = year::min();
- else
- in.setstate(ios::failbit);
+ in >> s; // extract the rest of the word
+ yy.from = year(1900);
+ }
+ else if (int num = 0; in >> num) [[likely]]
+ yy.from = year{num};
+
+ c = ws(in).peek();
+ if (c == 'm') // keyword "maximum"
+ {
+ in >> s; // extract the rest of the word
+ yy.to = year::max();
+ }
+ else if (c == 'o') // keyword "only"
+ {
+ in >> s; // extract the rest of the word
+ yy.to = yy.from;
}
else if (int num = 0; in >> num)
- y.y = year{num};
+ yy.to = year{num};
+
return in;
}
};
- // As above for minmax_year, but also supports the keyword "only",
- // meaning that the TO year is the same as the FROM year.
- struct minmax_year2
+ bool
+ select_std_or_dst_abbrev(string& abbrev, minutes save)
{
- minmax_year to;
- year from;
+ if (size_t pos = abbrev.find('/'); pos != string::npos)
+ {
+ // Select one of "STD/DST" for standard or daylight.
+ if (save == 0min)
+ abbrev.erase(pos);
+ else
+ abbrev.erase(0, pos + 1);
+ return true;
+ }
+ return false;
+ }
- friend istream& operator>>(istream& in, minmax_year2&& y)
- {
- if (ws(in).peek() == 'o') // keyword "only"
- {
- string s;
- in >> s; // extract the whole keyword
- y.to.y = y.from;
- }
- else
- in >> std::move(y.to);
- return in;
- }
- };
+ // Set the sys_info::abbrev string by expanding any placeholders.
+ void
+ format_abbrev_str(sys_info& info, string_view letters = {})
+ {
+ if (size_t pos = info.abbrev.find('%'); pos != string::npos)
+ {
+ if (info.abbrev[pos + 1] == 's')
+ {
+ // Expand "%s" to the variable part, given by Rule::letters.
+ if (letters == "-")
+ info.abbrev.erase(pos, 2);
+ else
+ info.abbrev.replace(pos, 2, letters);
+ }
+ else if (info.abbrev[pos + 1] == 'z')
+ {
+ // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss.
+ hh_mm_ss<seconds> t(info.offset);
+ string z(1, "+-"[t.is_negative()]);
+ long val = t.hours().count();
+ int digits = 2;
+ if (int m = t.minutes().count())
+ {
+ digits = 4;
+ val *= 100;
+ val += m;
+ if (int s = t.seconds().count())
+ {
+ digits = 6;
+ val *= 100;
+ val += s;
+ }
+ }
+ auto sval = std::to_string(val);
+ z += string(digits - sval.size(), '0');
+ z += sval;
+ info.abbrev.replace(pos, 2, z);
+ }
+ }
+ else
+ select_std_or_dst_abbrev(info.abbrev, info.save);
+ }
// A time zone information record.
// Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -462,6 +514,7 @@ namespace std::chrono
info.offset = offset();
info.save = minutes(m_save);
info.abbrev = format();
+ format_abbrev_str(info); // expand %z
return true;
}
@@ -469,12 +522,9 @@ namespace std::chrono
friend class time_zone;
void
- set_abbrev(const string& abbrev)
+ set_abbrev(string abbrev)
{
- // In practice, the FORMAT field never needs expanding here.
- if (abbrev.find_first_of("/%") != abbrev.npos)
- __throw_runtime_error("std::chrono::time_zone: invalid data");
- m_buf = abbrev;
+ m_buf = std::move(abbrev);
m_pos = 0;
m_expanded = true;
}
@@ -544,9 +594,7 @@ namespace std::chrono
// Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
- in >> quoted(rule.name)
- >> minmax_year{rule.from}
- >> minmax_year2{rule.to, rule.from};
+ in >> quoted(rule.name) >> years_from_to{rule.from, rule.to};
if (char type; in >> type && type != '-')
in.setstate(ios::failbit);
@@ -557,7 +605,7 @@ namespace std::chrono
if (save_time.indicator != at_time::Wall)
{
// We don't actually store the save_time.indicator, because we
- // assume that it's always deducable from the actual offset value.
+ // assume that it's always deducible from the offset value.
auto expected = save_time.time == 0s
? at_time::Standard
: at_time::Daylight;
@@ -567,8 +615,6 @@ namespace std::chrono
rule.save = save_time.time;
in >> rule.letters;
- if (rule.letters == "-")
- rule.letters.clear();
return in;
}
@@ -714,58 +760,6 @@ namespace std::chrono
#endif // TZDB_DISABLED
};
-#ifndef TZDB_DISABLED
- namespace
- {
- bool
- select_std_or_dst_abbrev(string& abbrev, minutes save)
- {
- if (size_t pos = abbrev.find('/'); pos != string::npos)
- {
- // Select one of "STD/DST" for standard or daylight.
- if (save == 0min)
- abbrev.erase(pos);
- else
- abbrev.erase(0, pos + 1);
- return true;
- }
- return false;
- }
-
- // Set the sys_info::abbrev string by expanding any placeholders.
- void
- format_abbrev_str(sys_info& info, string_view letters = {})
- {
- if (size_t pos = info.abbrev.find("%s"); pos != string::npos)
- {
- // Expand "%s" to the variable part, given by Rule::letters.
- info.abbrev.replace(pos, 2, letters);
- }
- else if (size_t pos = info.abbrev.find("%z"); pos != string::npos)
- {
- // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss.
- hh_mm_ss<seconds> t(info.offset);
- string z(1, "+-"[t.is_negative()]);
- long val = t.hours().count();
- if (minutes m = t.minutes(); m != m.zero())
- {
- val *= 100;
- val += m.count();
- if (seconds s = t.seconds(); s != s.zero())
- {
- val *= 100;
- val += s.count();
- }
- }
- z += std::to_string(val);
- info.abbrev.replace(pos, 2, z);
- }
- else
- select_std_or_dst_abbrev(info.abbrev, info.save);
- }
- }
-#endif // TZDB_DISABLED
-
// Implementation of std::chrono::time_zone::get_info(const sys_time<D>&)
sys_info
time_zone::_M_get_sys_info(sys_seconds tp) const
@@ -834,12 +828,72 @@ namespace std::chrono
info.abbrev = ri.format();
string_view letters;
- if (i != infos.begin())
+ if (i != infos.begin() && i[-1].expanded())
+ letters = i[-1].next_letters();
+
+ if (letters.empty())
{
- if (i[-1].expanded())
- letters = i[-1].next_letters();
- // XXX else need to find Rule active before this time and use it
- // to know the initial offset, save, and letters.
+ sys_seconds t = info.begin - seconds(1);
+ const year_month_day date(chrono::floor<days>(t));
+
+ // Try to find a Rule active before this time, to get initial
+ // SAVE and LETTERS values. There may not be a Rule for the period
+ // before the first DST transition, so find the earliest DST->STD
+ // transition and use the LETTERS from that.
+ const Rule* active_rule = nullptr;
+ sys_seconds active_rule_start = sys_seconds::min();
+ const Rule* first_std = nullptr;
+ for (const auto& rule : rules)
+ {
+ if (rule.save == minutes(0))
+ {
+ if (!first_std)
+ first_std = &rule;
+ else if (rule.from < first_std->from)
+ first_std = &rule;
+ else if (rule.from == first_std->from)
+ {
+ if (rule.start_time(rule.from, {})
+ < first_std->start_time(first_std->from, {}))
+ first_std = &rule;
+ }
+ }
+
+ year y = date.year();
+
+ if (y > rule.to) // rule no longer applies at time t
+ continue;
+ if (y < rule.from) // rule doesn't apply yet at time t
+ continue;
+
+ sys_seconds rule_start;
+
+ seconds offset{}; // appropriate for at_time::Universal
+ if (rule.when.indicator == at_time::Wall)
+ offset = info.offset;
+ else if (rule.when.indicator == at_time::Standard)
+ offset = ri.offset();
+
+ // Time the rule takes effect this year:
+ rule_start = rule.start_time(y, offset);
+
+ if (rule_start >= t && rule.from < y)
+ {
+ // Try this rule in the previous year.
+ rule_start = rule.start_time(--y, offset);
+ }
+
+ if (active_rule_start < rule_start && rule_start < t)
+ {
+ active_rule_start = rule_start;
+ active_rule = &rule;
+ }
+ }
+
+ if (active_rule)
+ letters = active_rule->letters;
+ else if (first_std)
+ letters = first_std->letters;
}
const Rule* curr_rule = nullptr;
@@ -2064,9 +2118,11 @@ namespace std::chrono
istringstream in2(std::move(rules));
in2 >> rules_time;
inf.m_save = duration_cast<minutes>(rules_time.time);
+ // If the FORMAT is "STD/DST" then we can choose the right one
+ // now, so that we store a shorter string.
select_std_or_dst_abbrev(fmt, inf.m_save);
}
- inf.set_abbrev(fmt);
+ inf.set_abbrev(std::move(fmt));
}
// YEAR [MONTH [DAY [TIME]]]
@@ -2077,7 +2133,12 @@ namespace std::chrono
abbrev_month m{January};
int d = 1;
at_time t{};
+ // XXX DAY should support ON format, e.g. lastSun or Sun>=8
in >> m >> d >> t;
+ // XXX UNTIL field should be interpreted
+ // "using the rules in effect just before the transition"
+ // so might need to store as year_month_day and hh_mm_ss and only
+ // convert to a sys_time once we know the offset in effect.
inf.m_until = sys_days(year(y)/m.m/day(d)) + seconds(t.time);
}
else
diff --git a/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
new file mode 100644
index 00000000000..f1a8fff02f5
--- /dev/null
+++ b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
@@ -0,0 +1,106 @@
+// { dg-do run { target c++20 } }
+// { dg-require-effective-target tzdb }
+// { dg-require-effective-target cxx11_abi }
+// { dg-xfail-run-if "no weak override on AIX" { powerpc-ibm-aix* } }
+
+#include <chrono>
+#include <fstream>
+#include <testsuite_hooks.h>
+
+static bool override_used = false;
+
+namespace __gnu_cxx
+{
+ const char* zoneinfo_dir_override() {
+ override_used = true;
+ return "./";
+ }
+}
+
+using namespace std::chrono;
+
+void
+test_format()
+{
+ std::ofstream("tzdata.zi") << R"(# version test_1
+Zone Africa/Bissau -1:2:20 - LMT 1912 Ja 1 1u
+ -1 - %z 1975
+ 0 - GMT
+Zon Some/Zone 1:2:3 - %z 1900
+ 1:23:45 - %z 1950
+Zo Another/Zone 1:2:3 - AZ0 1901
+ 1 Roolz A%sZ 2000
+ 1 Roolz SAZ/DAZ 2005
+ 1 Roolz %z
+Rule Roolz 1950 max - April 1 2 1 D
+Rul Roolz 1950 max - Oct 1 1 0 S
+Z Strange/Zone 1 - X%sX 1980
+ 1 - FOO/BAR 1990
+ 2:00 - %zzz 1995
+ 0:9 - %zzz 1996
+ 0:8:7 - %zzz 1997
+ 0:6:5.5 - %zzz 1998
+)";
+
+ const auto& db = reload_tzdb();
+ VERIFY( override_used ); // If this fails then XFAIL for the target.
+ VERIFY( db.version == "test_1" );
+
+ // Test formatting %z as
+ auto tz = locate_zone("Africa/Bissau");
+ auto inf = tz->get_info(sys_days(1974y/1/1));
+ VERIFY( inf.abbrev == "-01" );
+
+ tz = locate_zone("Some/Zone");
+ inf = tz->get_info(sys_days(1899y/1/1));
+ VERIFY( inf.abbrev == "+010203" );
+ inf = tz->get_info(sys_days(1955y/1/1));
+ VERIFY( inf.abbrev == "+012345" );
+
+ tz = locate_zone("Another/Zone");
+ // Test formatting %s as the LETTER/S field from the active Rule.
+ inf = tz->get_info(sys_days(1910y/January/1));
+ VERIFY( inf.abbrev == "ASZ" );
+ inf = tz->get_info(sys_days(1950y/January/1));
+ VERIFY( inf.abbrev == "ASZ" );
+ inf = tz->get_info(sys_days(1950y/June/1));
+ VERIFY( inf.abbrev == "ADZ" );
+ inf = tz->get_info(sys_days(1999y/January/1));
+ VERIFY( inf.abbrev == "ASZ" );
+ inf = tz->get_info(sys_days(1999y/July/1));
+ VERIFY( inf.abbrev == "ADZ" );
+ // Test formatting STD/DST according to the active Rule.
+ inf = tz->get_info(sys_days(2000y/January/2));
+ VERIFY( inf.abbrev == "SAZ" );
+ inf = tz->get_info(sys_days(2001y/January/1));
+ VERIFY( inf.abbrev == "SAZ" );
+ inf = tz->get_info(sys_days(2001y/July/1));
+ VERIFY( inf.abbrev == "DAZ" );
+ // Test formatting %z as the offset determined by the active Rule.
+ inf = tz->get_info(sys_days(2005y/January/2));
+ VERIFY( inf.abbrev == "+01" );
+ inf = tz->get_info(sys_days(2006y/January/1));
+ VERIFY( inf.abbrev == "+01" );
+ inf = tz->get_info(sys_days(2006y/July/1));
+ VERIFY( inf.abbrev == "+02" );
+
+ // Test formatting %z, %s and S/D for a Zone with no associated Rules.
+ tz = locate_zone("Strange/Zone");
+ inf = tz->get_info(sys_days(1979y/January/1));
+ VERIFY( inf.abbrev == "XX" ); // No Rule means nothing to use for %s.
+ inf = tz->get_info(sys_days(1981y/July/1));
+ VERIFY( inf.abbrev == "FOO" ); // Always standard time means first string.
+ inf = tz->get_info(sys_days(1994y/July/1));
+ VERIFY( inf.abbrev == "+02zz" );
+ inf = tz->get_info(sys_days(1995y/July/1));
+ VERIFY( inf.abbrev == "+0009zz" );
+ inf = tz->get_info(sys_days(1996y/July/1));
+ VERIFY( inf.abbrev == "+000807zz" );
+ inf = tz->get_info(sys_days(1997y/July/1));
+ VERIFY( inf.abbrev == "+000606zz" );
+}
+
+int main()
+{
+ test_format();
+}
diff --git a/libstdc++-v3/testsuite/std/time/tzdb/1.cc b/libstdc++-v3/testsuite/std/time/tzdb/1.cc
index 5f69e182603..73d316f5570 100644
--- a/libstdc++-v3/testsuite/std/time/tzdb/1.cc
+++ b/libstdc++-v3/testsuite/std/time/tzdb/1.cc
@@ -40,11 +40,15 @@ test_locate()
const tzdb& db = get_tzdb();
const time_zone* tz = db.locate_zone("GMT");
VERIFY( tz != nullptr );
- VERIFY( tz->name() == "Etc/GMT" );
VERIFY( tz == std::chrono::locate_zone("GMT") );
VERIFY( tz == db.locate_zone("Etc/GMT") );
VERIFY( tz == db.locate_zone("Etc/GMT+0") );
+ // Since 2022f GMT is now a Zone and Etc/GMT a link instead of vice versa,
+ // but only when using the vanguard format. As of 2024a, the main and
+ // rearguard formats still have Etc/GMT as a Zone and GMT as a link.
+ VERIFY( tz->name() == "GMT" || tz->name() == "Etc/GMT" );
+
VERIFY( db.locate_zone(db.current_zone()->name()) == db.current_zone() );
}
--
2.43.0

View File

@ -1,265 +0,0 @@
From 8926dc1cbe8fa3b9ae35bf03ec503bbc40f9cf37 Mon Sep 17 00:00:00 2001
From: Giuliano Belinassi <gbelinassi@suse.de>
Date: Thu, 25 Jul 2024 11:54:22 -0300
Subject: [PATCH] Backport rs6000: Adjust -fpatchable-function-entry* support
for dual entry
Original message:
As the discussion in PR112980, although the current
implementation for -fpatchable-function-entry* conforms
with the documentation (making N NOPs be consecutive),
it's inefficient for both kernel and userspace livepatching
(see comments in PR for the details).
So this patch is to change the current implementation by
emitting the "before" NOPs before global entry point and
the "after" NOPs after local entry point. The new behavior
would not keep NOPs to be consecutive, so the documentation
is updated to emphasize this
Backport to gcc-13
Authored-by: Kewen Lin <linkw@linux.ibm.com>
Backported-by: Giuliano Belinassi <gbelinassi@suse.de>
PR target/112980
gcc/ChangeLog:
* config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
Adjust the handling on patch area emitting with dual entry, remove
the restriction on "before" NOPs count, not emit "before" NOPs any
more but only emit "after" NOPs.
* config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry):
Adjust by respecting cfun->machine->stop_patch_area_print.
(rs6000_elf_declare_function_name): For ELFv2 with dual entry, set
cfun->machine->stop_patch_area_print as true.
* config/rs6000/rs6000.h (struct machine_function): Remove member
global_entry_emitted, add new member stop_patch_area_print.
* doc/invoke.texi (option -fpatchable-function-entry): Adjust the
documentation for PowerPC ELFv2 dual entry.
gcc/testsuite/ChangeLog:
* c-c++-common/patchable_function_entry-default.c: Adjust.
* gcc.target/powerpc/pr99888-4.c: Likewise.
* gcc.target/powerpc/pr99888-5.c: Likewise.
* gcc.target/powerpc/pr99888-6.c: Likewise.
Signed-off-by: Giuliano Belinassi <gbelinassi@suse.de>
---
gcc/config/rs6000/rs6000-logue.cc | 40 +++++--------------
gcc/config/rs6000/rs6000.cc | 15 +++++--
gcc/config/rs6000/rs6000.h | 10 +++--
gcc/doc/invoke.texi | 8 ++--
.../patchable_function_entry-default.c | 3 --
gcc/testsuite/gcc.target/powerpc/pr99888-4.c | 4 +-
gcc/testsuite/gcc.target/powerpc/pr99888-5.c | 4 +-
gcc/testsuite/gcc.target/powerpc/pr99888-6.c | 4 +-
8 files changed, 33 insertions(+), 55 deletions(-)
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
index 208404e6864..3835bc943ad 100644
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -4001,43 +4001,21 @@ rs6000_output_function_prologue (FILE *file)
fprintf (file, "\tadd 2,2,12\n");
}
- unsigned short patch_area_size = crtl->patch_area_size;
- unsigned short patch_area_entry = crtl->patch_area_entry;
- /* Need to emit the patching area. */
- if (patch_area_size > 0)
- {
- cfun->machine->global_entry_emitted = true;
- /* As ELFv2 ABI shows, the allowable bytes between the global
- and local entry points are 0, 4, 8, 16, 32 and 64 when
- there is a local entry point. Considering there are two
- non-prefixed instructions for global entry point prologue
- (8 bytes), the count for patchable nops before local entry
- point would be 2, 6 and 14. It's possible to support those
- other counts of nops by not making a local entry point, but
- we don't have clear use cases for them, so leave them
- unsupported for now. */
- if (patch_area_entry > 0)
- {
- if (patch_area_entry != 2
- && patch_area_entry != 6
- && patch_area_entry != 14)
- error ("unsupported number of nops before function entry (%u)",
- patch_area_entry);
- rs6000_print_patchable_function_entry (file, patch_area_entry,
- true);
- patch_area_size -= patch_area_entry;
- }
- }
-
fputs ("\t.localentry\t", file);
assemble_name (file, name);
fputs (",.-", file);
assemble_name (file, name);
fputs ("\n", file);
/* Emit the nops after local entry. */
- if (patch_area_size > 0)
- rs6000_print_patchable_function_entry (file, patch_area_size,
- patch_area_entry == 0);
+ unsigned short patch_area_size = crtl->patch_area_size;
+ unsigned short patch_area_entry = crtl->patch_area_entry;
+ if (patch_area_size > patch_area_entry)
+ {
+ cfun->machine->stop_patch_area_print = false;
+ patch_area_size -= patch_area_entry;
+ rs6000_print_patchable_function_entry (file, patch_area_size,
+ patch_area_entry == 0);
+ }
}
else if (rs6000_pcrel_p ())
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 2b876c90e6f..a08ed7466dd 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -14936,12 +14936,14 @@ rs6000_print_patchable_function_entry (FILE *file,
bool record_p)
{
bool global_entry_needed_p = rs6000_global_entry_point_prologue_needed_p ();
- /* For a function which needs global entry point, we will emit the
- patchable area before and after local entry point under the control of
- cfun->machine->global_entry_emitted, see the handling in function
+ /* For a function which needs global entry point, we will only emit the
+ patchable area after local entry point under the control of
+ !cfun->machine->stop_patch_area_print, see the handling in functions
rs6000_output_function_prologue. */
- if (!global_entry_needed_p || cfun->machine->global_entry_emitted)
+ if (!cfun->machine->stop_patch_area_print)
default_print_patchable_function_entry (file, patch_area_size, record_p);
+ else
+ gcc_assert (global_entry_needed_p);
}
enum rtx_code
@@ -21115,6 +21117,11 @@ rs6000_elf_declare_function_name (FILE *file, const char *name, tree decl)
fprintf (file, "\t.previous\n");
}
ASM_OUTPUT_LABEL (file, name);
+ /* At this time, the "before" NOPs have been already emitted,
+ let's stop generic code from printing the "after" NOPs and
+ emit just after local entry later. */
+ if (rs6000_global_entry_point_prologue_needed_p ())
+ cfun->machine->stop_patch_area_print = true;
}
static void rs6000_elf_file_end (void) ATTRIBUTE_UNUSED;
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 9f02025b0c8..ebe97beb182 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -2437,10 +2437,12 @@ typedef struct GTY(()) machine_function
bool lr_is_wrapped_separately;
bool toc_is_wrapped_separately;
bool mma_return_type_error;
- /* Indicate global entry is emitted, only useful when the function requires
- global entry. It helps to control the patchable area before and after
- local entry. */
- bool global_entry_emitted;
+ /* With ELFv2 ABI dual entry points being adopted, generic framework
+ targetm.asm_out.print_patchable_function_entry would generate "after"
+ NOPs before local entry, it is wrong. This flag is to stop it from
+ printing patch area before local entry, it is only useful when the
+ function requires dual entry points. */
+ bool stop_patch_area_print;
} machine_function;
#endif
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b17d0cf9341..0cdc5ac8c61 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -17449,11 +17449,11 @@ If @code{N=0}, no pad location is recorded.
The NOP instructions are inserted at---and maybe before, depending on
@var{M}---the function entry address, even before the prologue. On
PowerPC with the ELFv2 ABI, for a function with dual entry points,
-the local entry point is this function entry address.
+@var{M} NOP instructions are inserted before the global entry point and
+@var{N} - @var{M} NOP instructions are inserted after the local entry
+point, which means the NOP instructions may not be consecutive.
-The maximum value of @var{N} and @var{M} is 65535. On PowerPC with the
-ELFv2 ABI, for a function with dual entry points, the supported values
-for @var{M} are 0, 2, 6 and 14.
+The maximum value of @var{N} and @var{M} is 65535.
@end table
diff --git a/gcc/testsuite/c-c++-common/patchable_function_entry-default.c b/gcc/testsuite/c-c++-common/patchable_function_entry-default.c
index 3ccbafc87db..899938b4aa3 100644
--- a/gcc/testsuite/c-c++-common/patchable_function_entry-default.c
+++ b/gcc/testsuite/c-c++-common/patchable_function_entry-default.c
@@ -1,9 +1,6 @@
/* { dg-do compile { target { ! { nvptx*-*-* visium-*-* } } } } */
/* { dg-options "-O2 -fpatchable-function-entry=3,1" } */
/* { dg-additional-options "-fno-pie" { target sparc*-*-* } } */
-/* See PR99888, one single preceding nop isn't allowed on powerpc_elfv2,
- so overriding with two preceding nops to make it pass there. */
-/* { dg-additional-options "-fpatchable-function-entry=3,2" { target powerpc_elfv2 } } */
/* { dg-final { scan-assembler-times "nop|NOP|SWYM" 3 { target { ! { alpha*-*-* riscv*-*-* } } } } } */
/* { dg-final { scan-assembler-times "bis" 3 { target alpha*-*-* } } } */
/* { dg-final { scan-assembler-times "nop\n" 3 { target riscv*-*-* } } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/pr99888-4.c b/gcc/testsuite/gcc.target/powerpc/pr99888-4.c
index 00a8d4d316e..6f23f2bb939 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr99888-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr99888-4.c
@@ -2,12 +2,10 @@
/* There is no global entry point prologue with pcrel. */
/* { dg-options "-mno-pcrel -fpatchable-function-entry=1,1" } */
-/* Verify one error emitted for unexpected 1 nop before local
- entry. */
+/* Verify there is no error with 1 nop before local entry. */
extern int a;
int test (int b) {
return a + b;
}
-/* { dg-error "unsupported number of nops before function entry \\(1\\)" "" { target *-*-* } .-1 } */
diff --git a/gcc/testsuite/gcc.target/powerpc/pr99888-5.c b/gcc/testsuite/gcc.target/powerpc/pr99888-5.c
index 39d3b4465f1..13f192ebd20 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr99888-5.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr99888-5.c
@@ -2,12 +2,10 @@
/* There is no global entry point prologue with pcrel. */
/* { dg-options "-mno-pcrel -fpatchable-function-entry=7,3" } */
-/* Verify one error emitted for unexpected 3 nops before local
- entry. */
+/* Verify no error emitted for 3 nops before local entry. */
extern int a;
int test (int b) {
return a + b;
}
-/* { dg-error "unsupported number of nops before function entry \\(3\\)" "" { target *-*-* } .-1 } */
diff --git a/gcc/testsuite/gcc.target/powerpc/pr99888-6.c b/gcc/testsuite/gcc.target/powerpc/pr99888-6.c
index c6c18dcc7ac..431c69cae9a 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr99888-6.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr99888-6.c
@@ -2,8 +2,7 @@
/* There is no global entry point prologue with pcrel. */
/* { dg-options "-mno-pcrel" } */
-/* Verify one error emitted for unexpected 4 nops before local
- entry. */
+/* Verify no error emitted for 4 nops before local entry. */
extern int a;
@@ -11,4 +10,3 @@ __attribute__ ((patchable_function_entry (20, 4)))
int test (int b) {
return a + b;
}
-/* { dg-error "unsupported number of nops before function entry \\(4\\)" "" { target *-*-* } .-1 } */
--
2.45.2

View File

@ -221,7 +221,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -406,7 +406,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -414,7 +413,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
Summary: Testsuite results
License: SUSE-Public-Domain
@ -553,12 +551,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end

View File

@ -1,26 +1,3 @@
-------------------------------------------------------------------
Tue Oct 22 08:06:21 UTC 2024 - Richard Biener <rguenther@suse.com>
- Remove epiphany build, newlib no longer builds for it.
-------------------------------------------------------------------
Wed Oct 16 13:32:36 UTC 2024 - Richard Biener <rguenther@suse.com>
- Add gcc13-pr116657.patch to fix for parsing tzdata 2024b [gcc#116657]
-------------------------------------------------------------------
Wed Aug 7 09:32:00 UTC 2024 - Richard Biener <rguenther@suse.com>
- Update to gcc-13 branch head, 9d368828bd4d04ce507e02a581, git8964
* includes fix for samba build with glibc 2.40
-------------------------------------------------------------------
Thu Jul 25 17:29:02 UTC 2024 - Giuliano Belinassi <giuliano.belinassi@suse.com>
- Add gcc13-rs6000-Adjust-fpatchable-function-entry.patch to fix
the incorrect NOPs layout when -fpatchable-function-enry is passed
in ppc64le.
-------------------------------------------------------------------
Tue May 21 08:56:28 UTC 2024 - Richard Biener <rguenther@suse.com>

View File

@ -200,7 +200,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
Version: 13.3.1+git8964
Version: 13.3.0+git8781
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -385,7 +385,6 @@ Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
Patch26: gcc13-pr101523.patch
Patch27: gcc13-amdgcn-remove-fiji.patch
Patch28: gcc13-pr116657.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -393,7 +392,6 @@ Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
# Feature backports
Patch100: gcc13-pr88345-min-func-alignment.diff
Patch101: gcc13-rs6000-Adjust-fpatchable-function-entry.patch
License: GPL-3.0-or-later
Summary: The GNU C Compiler and Support Files
@ -2377,12 +2375,10 @@ ln -s newlib-4.3.0.20230120/newlib .
%patch -P 24 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 51
%patch -P 60 -p1
%patch -P 61 -p1
%patch -P 100 -p1
%patch -P 101 -p1
#test patching end