From e44bc9b6a6fb2dc31b0f697783d60831c3c4f26e1dfabb0eac8084cd47548c2c Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 20 Mar 2024 09:05:46 +0000 Subject: [PATCH] - Add gcc13-pr111731.patch to fix unwinding for JIT code. [bsc#1221239] OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc13?expand=0&rev=100 --- cross-aarch64-gcc13-bootstrap.spec | 2 + cross-aarch64-gcc13.spec | 2 + cross-amdgcn-gcc13.spec | 2 + cross-arm-gcc13.spec | 2 + cross-arm-none-gcc13-bootstrap.spec | 2 + cross-arm-none-gcc13.spec | 2 + cross-avr-gcc13-bootstrap.spec | 2 + cross-avr-gcc13.spec | 2 + cross-bpf-gcc13.spec | 2 + cross-epiphany-gcc13-bootstrap.spec | 2 + cross-epiphany-gcc13.spec | 2 + cross-hppa-gcc13-bootstrap.spec | 2 + cross-hppa-gcc13.spec | 2 + cross-m68k-gcc13.spec | 2 + cross-mips-gcc13.spec | 2 + cross-nvptx-gcc13.spec | 2 + cross-ppc64-gcc13.spec | 2 + cross-ppc64le-gcc13-bootstrap.spec | 2 + cross-ppc64le-gcc13.spec | 2 + cross-pru-gcc13-bootstrap.spec | 2 + cross-pru-gcc13.spec | 2 + cross-riscv64-elf-gcc13-bootstrap.spec | 2 + cross-riscv64-elf-gcc13.spec | 2 + cross-riscv64-gcc13-bootstrap.spec | 2 + cross-riscv64-gcc13.spec | 2 + cross-rx-gcc13-bootstrap.spec | 2 + cross-rx-gcc13.spec | 2 + cross-s390x-gcc13-bootstrap.spec | 2 + cross-s390x-gcc13.spec | 2 + cross-sparc-gcc13.spec | 2 + cross-sparc64-gcc13.spec | 2 + cross-x86_64-gcc13.spec | 2 + gcc.spec.in | 2 + gcc13-pr111731.patch | 118 +++++++++++++++++++++++++ gcc13-testresults.spec | 2 + gcc13.changes | 6 ++ gcc13.spec | 2 + 37 files changed, 194 insertions(+) create mode 100644 gcc13-pr111731.patch diff --git a/cross-aarch64-gcc13-bootstrap.spec b/cross-aarch64-gcc13-bootstrap.spec index 62344f3..1152771 100644 --- a/cross-aarch64-gcc13-bootstrap.spec +++ b/cross-aarch64-gcc13-bootstrap.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-aarch64-gcc13.spec b/cross-aarch64-gcc13.spec index c6e1d80..13de517 100644 --- a/cross-aarch64-gcc13.spec +++ b/cross-aarch64-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-amdgcn-gcc13.spec b/cross-amdgcn-gcc13.spec index 542a7f3..1fa096a 100644 --- a/cross-amdgcn-gcc13.spec +++ b/cross-amdgcn-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-arm-gcc13.spec b/cross-arm-gcc13.spec index 12129a3..11a1880 100644 --- a/cross-arm-gcc13.spec +++ b/cross-arm-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-arm-none-gcc13-bootstrap.spec b/cross-arm-none-gcc13-bootstrap.spec index f39934d..c1442e9 100644 --- a/cross-arm-none-gcc13-bootstrap.spec +++ b/cross-arm-none-gcc13-bootstrap.spec @@ -137,6 +137,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -364,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-arm-none-gcc13.spec b/cross-arm-none-gcc13.spec index 4ddd076..e004da3 100644 --- a/cross-arm-none-gcc13.spec +++ b/cross-arm-none-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-avr-gcc13-bootstrap.spec b/cross-avr-gcc13-bootstrap.spec index af778dd..13009dc 100644 --- a/cross-avr-gcc13-bootstrap.spec +++ b/cross-avr-gcc13-bootstrap.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-avr-gcc13.spec b/cross-avr-gcc13.spec index 4dfc0de..c212ac0 100644 --- a/cross-avr-gcc13.spec +++ b/cross-avr-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-bpf-gcc13.spec b/cross-bpf-gcc13.spec index c83d90e..94b542c 100644 --- a/cross-bpf-gcc13.spec +++ b/cross-bpf-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-epiphany-gcc13-bootstrap.spec b/cross-epiphany-gcc13-bootstrap.spec index 169f806..37aadfb 100644 --- a/cross-epiphany-gcc13-bootstrap.spec +++ b/cross-epiphany-gcc13-bootstrap.spec @@ -137,6 +137,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -364,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-epiphany-gcc13.spec b/cross-epiphany-gcc13.spec index 6b0ec23..d1a155c 100644 --- a/cross-epiphany-gcc13.spec +++ b/cross-epiphany-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-hppa-gcc13-bootstrap.spec b/cross-hppa-gcc13-bootstrap.spec index 300492e..64d1483 100644 --- a/cross-hppa-gcc13-bootstrap.spec +++ b/cross-hppa-gcc13-bootstrap.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-hppa-gcc13.spec b/cross-hppa-gcc13.spec index 056a0a1..6645e42 100644 --- a/cross-hppa-gcc13.spec +++ b/cross-hppa-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-m68k-gcc13.spec b/cross-m68k-gcc13.spec index 12f1d2c..0c46f54 100644 --- a/cross-m68k-gcc13.spec +++ b/cross-m68k-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-mips-gcc13.spec b/cross-mips-gcc13.spec index 6d55d72..5f70e2e 100644 --- a/cross-mips-gcc13.spec +++ b/cross-mips-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-nvptx-gcc13.spec b/cross-nvptx-gcc13.spec index 527ed91..975a4fd 100644 --- a/cross-nvptx-gcc13.spec +++ b/cross-nvptx-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-ppc64-gcc13.spec b/cross-ppc64-gcc13.spec index 64408a0..dad90ac 100644 --- a/cross-ppc64-gcc13.spec +++ b/cross-ppc64-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-ppc64le-gcc13-bootstrap.spec b/cross-ppc64le-gcc13-bootstrap.spec index b5f27dd..d40b46d 100644 --- a/cross-ppc64le-gcc13-bootstrap.spec +++ b/cross-ppc64le-gcc13-bootstrap.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-ppc64le-gcc13.spec b/cross-ppc64le-gcc13.spec index 477f044..d04f1fa 100644 --- a/cross-ppc64le-gcc13.spec +++ b/cross-ppc64le-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-pru-gcc13-bootstrap.spec b/cross-pru-gcc13-bootstrap.spec index da35480..aff3233 100644 --- a/cross-pru-gcc13-bootstrap.spec +++ b/cross-pru-gcc13-bootstrap.spec @@ -137,6 +137,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -364,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-pru-gcc13.spec b/cross-pru-gcc13.spec index 2df00c2..09f7ce0 100644 --- a/cross-pru-gcc13.spec +++ b/cross-pru-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-riscv64-elf-gcc13-bootstrap.spec b/cross-riscv64-elf-gcc13-bootstrap.spec index 6821d1f..9661f1b 100644 --- a/cross-riscv64-elf-gcc13-bootstrap.spec +++ b/cross-riscv64-elf-gcc13-bootstrap.spec @@ -137,6 +137,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -364,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-riscv64-elf-gcc13.spec b/cross-riscv64-elf-gcc13.spec index 95e8d64..5a6f693 100644 --- a/cross-riscv64-elf-gcc13.spec +++ b/cross-riscv64-elf-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-riscv64-gcc13-bootstrap.spec b/cross-riscv64-gcc13-bootstrap.spec index a6dfdfd..8c47a07 100644 --- a/cross-riscv64-gcc13-bootstrap.spec +++ b/cross-riscv64-gcc13-bootstrap.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-riscv64-gcc13.spec b/cross-riscv64-gcc13.spec index 91ffe02..80af893 100644 --- a/cross-riscv64-gcc13.spec +++ b/cross-riscv64-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-rx-gcc13-bootstrap.spec b/cross-rx-gcc13-bootstrap.spec index 394f1aa..a688d9c 100644 --- a/cross-rx-gcc13-bootstrap.spec +++ b/cross-rx-gcc13-bootstrap.spec @@ -137,6 +137,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -364,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-rx-gcc13.spec b/cross-rx-gcc13.spec index 9da7630..db295e7 100644 --- a/cross-rx-gcc13.spec +++ b/cross-rx-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-s390x-gcc13-bootstrap.spec b/cross-s390x-gcc13-bootstrap.spec index 7f2142b..bbfa80b 100644 --- a/cross-s390x-gcc13-bootstrap.spec +++ b/cross-s390x-gcc13-bootstrap.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-s390x-gcc13.spec b/cross-s390x-gcc13.spec index 01e6f5a..faf3114 100644 --- a/cross-s390x-gcc13.spec +++ b/cross-s390x-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-sparc-gcc13.spec b/cross-sparc-gcc13.spec index 0764dec..477fa7b 100644 --- a/cross-sparc-gcc13.spec +++ b/cross-sparc-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-sparc64-gcc13.spec b/cross-sparc64-gcc13.spec index e881130..7d58d6d 100644 --- a/cross-sparc64-gcc13.spec +++ b/cross-sparc64-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/cross-x86_64-gcc13.spec b/cross-x86_64-gcc13.spec index 758d843..3e6a331 100644 --- a/cross-x86_64-gcc13.spec +++ b/cross-x86_64-gcc13.spec @@ -136,6 +136,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -363,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/gcc.spec.in b/gcc.spec.in index 5b63954..192b9a8 100644 --- a/gcc.spec.in +++ b/gcc.spec.in @@ -388,6 +388,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -1361,6 +1362,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/gcc13-pr111731.patch b/gcc13-pr111731.patch new file mode 100644 index 0000000..cec8c5f --- /dev/null +++ b/gcc13-pr111731.patch @@ -0,0 +1,118 @@ +From 0f5d8836055aef216e6fff9a1d0342a44a46a6a9 Mon Sep 17 00:00:00 2001 +From: Thomas Neumann +Date: Mon, 11 Mar 2024 14:35:20 +0100 +Subject: [PATCH] handle unwind tables that are embedded within unwinding code + [PR111731] + +Original bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 + +The unwinding mechanism registers both the code range and the unwind +table itself within a b-tree lookup structure. That data structure +assumes that is consists of non-overlappping intervals. This +becomes a problem if the unwinding table is embedded within the +code itself, as now the intervals do overlap. + +To fix this problem we now keep the unwind tables in a separate +b-tree, which prevents the overlap. + +libgcc/ChangeLog: + PR libgcc/111731 + * unwind-dw2-fde.c: Split unwind ranges if they contain the + unwind table. +--- + libgcc/unwind-dw2-fde.c | 37 +++++++++++++++++++++---------------- + 1 file changed, 21 insertions(+), 16 deletions(-) + +diff --git a/libgcc/unwind-dw2-fde.c b/libgcc/unwind-dw2-fde.c +index 61a578d097e..9d503545677 100644 +--- a/libgcc/unwind-dw2-fde.c ++++ b/libgcc/unwind-dw2-fde.c +@@ -48,6 +48,7 @@ typedef __UINTPTR_TYPE__ uintptr_type; + #include "unwind-dw2-btree.h" + + static struct btree registered_frames; ++static struct btree registered_objects; + static bool in_shutdown; + + static void +@@ -58,6 +59,7 @@ release_registered_frames (void) + /* Release the b-tree and all frames. Frame releases that happen later are + * silently ignored */ + btree_destroy (®istered_frames); ++ btree_destroy (®istered_objects); + in_shutdown = true; + } + +@@ -103,6 +105,21 @@ static __gthread_mutex_t object_mutex; + #endif + #endif + ++#ifdef ATOMIC_FDE_FAST_PATH ++// Register the pc range for a given object in the lookup structure. ++static void ++register_pc_range_for_object (uintptr_type begin, struct object *ob) ++{ ++ // Register the object itself to know the base pointer on deregistration. ++ btree_insert (®istered_objects, begin, 1, ob); ++ ++ // Register the frame in the b-tree ++ uintptr_type range[2]; ++ get_pc_range (ob, range); ++ btree_insert (®istered_frames, range[0], range[1] - range[0], ob); ++} ++#endif ++ + /* Called from crtbegin.o to register the unwind info for an object. */ + + void +@@ -124,13 +141,7 @@ __register_frame_info_bases (const void *begin, struct object *ob, + #endif + + #ifdef ATOMIC_FDE_FAST_PATH +- // Register the object itself to know the base pointer on deregistration. +- btree_insert (®istered_frames, (uintptr_type) begin, 1, ob); +- +- // Register the frame in the b-tree +- uintptr_type range[2]; +- get_pc_range (ob, range); +- btree_insert (®istered_frames, range[0], range[1] - range[0], ob); ++ register_pc_range_for_object ((uintptr_type) begin, ob); + #else + init_object_mutex_once (); + __gthread_mutex_lock (&object_mutex); +@@ -178,13 +189,7 @@ __register_frame_info_table_bases (void *begin, struct object *ob, + ob->s.b.encoding = DW_EH_PE_omit; + + #ifdef ATOMIC_FDE_FAST_PATH +- // Register the object itself to know the base pointer on deregistration. +- btree_insert (®istered_frames, (uintptr_type) begin, 1, ob); +- +- // Register the frame in the b-tree +- uintptr_type range[2]; +- get_pc_range (ob, range); +- btree_insert (®istered_frames, range[0], range[1] - range[0], ob); ++ register_pc_range_for_object ((uintptr_type) begin, ob); + #else + init_object_mutex_once (); + __gthread_mutex_lock (&object_mutex); +@@ -232,7 +237,7 @@ __deregister_frame_info_bases (const void *begin) + + #ifdef ATOMIC_FDE_FAST_PATH + // Find the originally registered object to get the base pointer. +- ob = btree_remove (®istered_frames, (uintptr_type) begin); ++ ob = btree_remove (®istered_objects, (uintptr_type) begin); + + // Remove the corresponding PC range. + if (ob) +@@ -240,7 +245,7 @@ __deregister_frame_info_bases (const void *begin) + uintptr_type range[2]; + get_pc_range (ob, range); + if (range[0] != range[1]) +- btree_remove (®istered_frames, range[0]); ++ btree_remove (®istered_frames, range[0]); + } + + // Deallocate the sort array if any. +-- +2.43.0 + diff --git a/gcc13-testresults.spec b/gcc13-testresults.spec index b83755c..4873883 100644 --- a/gcc13-testresults.spec +++ b/gcc13-testresults.spec @@ -404,6 +404,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -547,6 +548,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1 diff --git a/gcc13.changes b/gcc13.changes index 7a1ae38..277bcf6 100644 --- a/gcc13.changes +++ b/gcc13.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Mar 20 08:29:09 UTC 2024 - Richard Biener + +- Add gcc13-pr111731.patch to fix unwinding for JIT code. + [bsc#1221239] + ------------------------------------------------------------------- Wed Mar 13 08:04:27 UTC 2024 - Richard Biener diff --git a/gcc13.spec b/gcc13.spec index ff1c4c9..6074011 100644 --- a/gcc13.spec +++ b/gcc13.spec @@ -383,6 +383,7 @@ Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch21: gdcflags.patch Patch23: gcc13-bsc1216664.patch Patch24: gcc13-sanitizer-remove-crypt-interception.patch +Patch25: gcc13-pr111731.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -2371,6 +2372,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch -P 21 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 %patch -P 51 %patch -P 60 -p1 %patch -P 61 -p1