forked from pool/gcc13
Compare commits
6 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
39d8753a82 | ||
|
fa6b0aea9c | ||
|
3b68b0eb13 | ||
|
c420d54861 | ||
|
63a48184dc | ||
|
59c9df8ab3 |
@ -23,8 +23,6 @@
|
||||
<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>
|
||||
|
@ -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
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +139,7 @@ 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,6 +147,7 @@ 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
|
||||
@ -368,10 +370,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
File diff suppressed because it is too large
Load Diff
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +139,7 @@ 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,6 +147,7 @@ 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
|
||||
@ -368,10 +370,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +139,7 @@ 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,6 +147,7 @@ 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
|
||||
@ -368,10 +370,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +139,7 @@ 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,6 +147,7 @@ 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
|
||||
@ -368,10 +370,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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
|
||||
|
||||
|
@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +138,7 @@ 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
|
||||
@ -145,6 +146,7 @@ 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
|
||||
@ -367,10 +369,12 @@ 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)
BIN
gcc-13.3.0+git8781.tar.xz
(Stored with Git LFS)
Binary file not shown.
3
gcc-13.3.1+git8964.tar.xz
Normal file
3
gcc-13.3.1+git8964.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b28899078a9457c5e406db83d8e891ef71b5f2568998c0166f29f4619999ce33
|
||||
size 87282684
|
@ -204,7 +204,7 @@
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +390,7 @@ 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
|
||||
@ -397,6 +398,7 @@ 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
|
||||
@ -1365,10 +1367,12 @@ 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
|
||||
|
||||
|
566
gcc13-pr116657.patch
Normal file
566
gcc13-pr116657.patch
Normal file
@ -0,0 +1,566 @@
|
||||
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
|
||||
|
265
gcc13-rs6000-Adjust-fpatchable-function-entry.patch
Normal file
265
gcc13-rs6000-Adjust-fpatchable-function-entry.patch
Normal file
@ -0,0 +1,265 @@
|
||||
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
|
||||
|
@ -221,7 +221,7 @@
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +406,7 @@ 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
|
||||
@ -413,6 +414,7 @@ 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
|
||||
@ -551,10 +553,12 @@ 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
|
||||
|
||||
|
@ -1,3 +1,26 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
@ -200,7 +200,7 @@
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.3.1+git8964
|
||||
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,6 +385,7 @@ 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
|
||||
@ -392,6 +393,7 @@ 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
|
||||
@ -2375,10 +2377,12 @@ 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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user