Compare commits
1 Commits
c9-beta
...
c8-beta-st
Author | SHA1 | Date | |
---|---|---|---|
|
ef5505fa72 |
@ -290,17 +290,6 @@ Patch067: gdb-gcc-13-backport-self-move-diagnostic-fix
|
|||||||
Patch068: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch
|
Patch068: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch
|
||||||
|
|
||||||
# Backport "Fix an illegal memory access when parsing..."
|
# Backport "Fix an illegal memory access when parsing..."
|
||||||
# (Nick Clifton, RHBZ 2153228)
|
# (Nick Clifton, RHBZ 2153227)
|
||||||
Patch069: gdb-rhbz2153228-fail-if-sh_info-is-zero.patch
|
Patch069: gdb-rhbz2153227-fail-if-sh_info-is-zero.patch
|
||||||
|
|
||||||
# Backport Add a recursion limit to the demangle_const function in the Rust demangler.
|
|
||||||
# (Nick Clifton, RHEL-4234)
|
|
||||||
Patch070: libiberty-infinite-recursion-fix-1-of-2.patch
|
|
||||||
|
|
||||||
# Backport Fix typo in recent code to add stack recursion limit to the Rust demangler.
|
|
||||||
# (Nick Clifton)
|
|
||||||
Patch071: libiberty-infinite-recursion-fix-2-of-2.patch
|
|
||||||
|
|
||||||
|
|
||||||
Patch072: libiberty-infinite-recursion-fix-3-of-3.patch
|
|
||||||
|
|
||||||
|
@ -67,6 +67,3 @@
|
|||||||
%patch067 -p1
|
%patch067 -p1
|
||||||
%patch068 -p1
|
%patch068 -p1
|
||||||
%patch069 -p1
|
%patch069 -p1
|
||||||
%patch070 -p1
|
|
||||||
%patch071 -p1
|
|
||||||
%patch072 -p1
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
||||||
From: Nick Clifton <nickc@redhat.com>
|
From: Nick Clifton <nickc@redhat.com>
|
||||||
Date: Wed, 19 Oct 2022 15:09:12 +0100
|
Date: Wed, 19 Oct 2022 15:09:12 +0100
|
||||||
Subject: gdb-rhbz2153228-fail-if-sh_info-is-zero.patch
|
Subject: gdb-rhbz2153227-fail-if-sh_info-is-zero.patch
|
||||||
|
|
||||||
;; Backport "Fix an illegal memory access when parsing..."
|
;; Backport "Fix an illegal memory access when parsing..."
|
||||||
;; (Nick Clifton, RHBZ 2153228)
|
;; (Nick Clifton, RHBZ 2153227)
|
||||||
|
|
||||||
PR 29699
|
PR 29699
|
||||||
* elf.c (_bfd_elf_slurp_version_tables): Fail if the sh_info field
|
* elf.c (_bfd_elf_slurp_version_tables): Fail if the sh_info field
|
@ -1,85 +0,0 @@
|
|||||||
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nick Clifton <nickc@redhat.com>
|
|
||||||
Date: Fri, 1 Jul 2022 15:58:52 +0100
|
|
||||||
Subject: libiberty-infinite-recursion-fix-1-of-2.patch
|
|
||||||
|
|
||||||
;; Backport Add a recursion limit to the demangle_const function in the Rust demangler.
|
|
||||||
;; (Nick Clifton, RHEL-4234)
|
|
||||||
|
|
||||||
libiberty/
|
|
||||||
PR demangler/105039
|
|
||||||
* rust-demangle.c (demangle_const): Add recursion limit.
|
|
||||||
|
|
||||||
diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
|
|
||||||
--- a/libiberty/rust-demangle.c
|
|
||||||
+++ b/libiberty/rust-demangle.c
|
|
||||||
@@ -126,7 +126,7 @@ parse_integer_62 (struct rust_demangler *rdm)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
x = 0;
|
|
||||||
- while (!eat (rdm, '_'))
|
|
||||||
+ while (!eat (rdm, '_') && !rdm->errored)
|
|
||||||
{
|
|
||||||
c = next (rdm);
|
|
||||||
x *= 62;
|
|
||||||
@@ -1148,6 +1148,15 @@ demangle_const (struct rust_demangler *rdm)
|
|
||||||
if (rdm->errored)
|
|
||||||
return;
|
|
||||||
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ {
|
|
||||||
+ ++ rdm->recursion;
|
|
||||||
+ if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
|
|
||||||
+ /* FIXME: There ought to be a way to report
|
|
||||||
+ that the recursion limit has been reached. */
|
|
||||||
+ goto fail_return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (eat (rdm, 'B'))
|
|
||||||
{
|
|
||||||
backref = parse_integer_62 (rdm);
|
|
||||||
@@ -1158,7 +1167,7 @@ demangle_const (struct rust_demangler *rdm)
|
|
||||||
demangle_const (rdm);
|
|
||||||
rdm->next = old_next;
|
|
||||||
}
|
|
||||||
- return;
|
|
||||||
+ goto pass_return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ty_tag = next (rdm);
|
|
||||||
@@ -1167,7 +1176,7 @@ demangle_const (struct rust_demangler *rdm)
|
|
||||||
/* Placeholder. */
|
|
||||||
case 'p':
|
|
||||||
PRINT ("_");
|
|
||||||
- return;
|
|
||||||
+ goto pass_return;
|
|
||||||
|
|
||||||
/* Unsigned integer types. */
|
|
||||||
case 'h':
|
|
||||||
@@ -1200,18 +1209,20 @@ demangle_const (struct rust_demangler *rdm)
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
- rdm->errored = 1;
|
|
||||||
- return;
|
|
||||||
+ goto fail_return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (rdm->errored)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- if (rdm->verbose)
|
|
||||||
+ if (!rdm->errored && rdm->verbose)
|
|
||||||
{
|
|
||||||
PRINT (": ");
|
|
||||||
PRINT (basic_type (ty_tag));
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ fail_return:
|
|
||||||
+ rdm->errored = 1;
|
|
||||||
+ pass_return:
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ -- rdm->recursion;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
@ -1,23 +0,0 @@
|
|||||||
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nick Clifton <nickc@redhat.com>
|
|
||||||
Date: Mon, 4 Jul 2022 16:31:18 +0100
|
|
||||||
Subject: libiberty-infinite-recursion-fix-2-of-2.patch
|
|
||||||
|
|
||||||
;; Backport Fix typo in recent code to add stack recursion limit to the Rust demangler.
|
|
||||||
;; (Nick Clifton)
|
|
||||||
|
|
||||||
libiberty
|
|
||||||
* rust-demangle.c (demangle_const): Add a missing goto pass_return
|
|
||||||
at the end of the function.
|
|
||||||
|
|
||||||
diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
|
|
||||||
--- a/libiberty/rust-demangle.c
|
|
||||||
+++ b/libiberty/rust-demangle.c
|
|
||||||
@@ -1217,6 +1217,7 @@ demangle_const (struct rust_demangler *rdm)
|
|
||||||
PRINT (": ");
|
|
||||||
PRINT (basic_type (ty_tag));
|
|
||||||
}
|
|
||||||
+ goto pass_return;
|
|
||||||
|
|
||||||
fail_return:
|
|
||||||
rdm->errored = 1;
|
|
@ -1,40 +0,0 @@
|
|||||||
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
|
||||||
From: Guinevere Larsen <blarsen@redhat.com>
|
|
||||||
Date: Mon, 30 Oct 2023 12:48:01 +0100
|
|
||||||
Subject: libiberty-infinite-recursion-fix-3-of-3.patch
|
|
||||||
|
|
||||||
fix backport error in patch 1 of this series.
|
|
||||||
|
|
||||||
diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
|
|
||||||
--- a/libiberty/rust-demangle.c
|
|
||||||
+++ b/libiberty/rust-demangle.c
|
|
||||||
@@ -1082,6 +1082,18 @@ demangle_path_maybe_open_generics (struct rust_demangler *rdm)
|
|
||||||
if (rdm->errored)
|
|
||||||
return open;
|
|
||||||
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ {
|
|
||||||
+ ++ rdm ->recursion;
|
|
||||||
+ if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
|
|
||||||
+ {
|
|
||||||
+ /* FIXME: there ought to be a way to report
|
|
||||||
+ that the recorsion limit has been reached. */
|
|
||||||
+ rdm->errored = 1;
|
|
||||||
+ goto end_of_func;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (eat (rdm, 'B'))
|
|
||||||
{
|
|
||||||
backref = parse_integer_62 (rdm);
|
|
||||||
@@ -1107,6 +1119,10 @@ demangle_path_maybe_open_generics (struct rust_demangler *rdm)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
demangle_path (rdm, 0);
|
|
||||||
+ end_of_func:
|
|
||||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
|
||||||
+ -- rdm->recursion;
|
|
||||||
+
|
|
||||||
return open;
|
|
||||||
}
|
|
||||||
|
|
@ -11,14 +11,10 @@
|
|||||||
# Turn off the brp-python-bytecompile automagic
|
# Turn off the brp-python-bytecompile automagic
|
||||||
%global _python_bytecompile_extra 0
|
%global _python_bytecompile_extra 0
|
||||||
|
|
||||||
# GTS magic sauce. On GTS N (N >= 13), we always build using
|
# GTS magic sauce.
|
||||||
# the system compiler and elfutils.
|
|
||||||
#
|
|
||||||
# For testing, we use the GTS (N-1) compiler and the system valgrind/elfutils.
|
|
||||||
|
|
||||||
%{?scl_package:%global scl gcc-toolset-13}
|
%{?scl_package:%global scl gcc-toolset-13}
|
||||||
%global scl_prefix gcc-toolset-13-
|
%global scl_prefix gcc-toolset-13-
|
||||||
%global scl_testing_cc_prefix gcc-toolset-12-
|
%global scl_testing_prefix gcc-toolset-12-
|
||||||
BuildRequires: scl-utils-build
|
BuildRequires: scl-utils-build
|
||||||
|
|
||||||
# Only build on x86 for RHEL6 SCL, defining missing parallel make macros.
|
# Only build on x86 for RHEL6 SCL, defining missing parallel make macros.
|
||||||
@ -73,7 +69,7 @@ Version: 12.1
|
|||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# The release always contains a leading reserved number, start it at 1.
|
||||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||||
Release: 5%{?dist}
|
Release: 3%{?dist}
|
||||||
|
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
||||||
# Do not provide URL for snapshots as the file lasts there only for 2 days.
|
# Do not provide URL for snapshots as the file lasts there only for 2 days.
|
||||||
@ -322,7 +318,7 @@ BuildRequires: elfutils-debuginfod-client-devel
|
|||||||
%if 0%{!?el6:1} && 0%{?scl:1}
|
%if 0%{!?el6:1} && 0%{?scl:1}
|
||||||
%global have_debuginfod 1
|
%global have_debuginfod 1
|
||||||
%global use_scl_for_debuginfod 1
|
%global use_scl_for_debuginfod 1
|
||||||
BuildRequires: elfutils-debuginfod-client-devel
|
BuildRequires: %{?scl_prefix}elfutils-debuginfod-client-devel
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -351,14 +347,14 @@ BuildRequires: boost-devel
|
|||||||
BuildRequires: sharutils dejagnu
|
BuildRequires: sharutils dejagnu
|
||||||
# gcc-objc++ is not covered by the GDB testsuite.
|
# gcc-objc++ is not covered by the GDB testsuite.
|
||||||
# Test supported SCL toolchain components.
|
# Test supported SCL toolchain components.
|
||||||
BuildRequires: %{?scl_testing_cc_prefix}gcc %{?scl_testing_cc_prefix}gcc-c++ %{?scl_testing_cc_prefix}gcc-gfortran
|
BuildRequires: %{?scl_testing_prefix}gcc %{?scl_testing_prefix}gcc-c++ %{?scl_testing_prefix}gcc-gfortran
|
||||||
|
|
||||||
%if 0%{!?rhel:1} || 0%{?rhel} < 8
|
%if 0%{!?rhel:1} || 0%{?rhel} < 8
|
||||||
BuildRequires: gcc-objc
|
BuildRequires: gcc-objc
|
||||||
%endif
|
%endif
|
||||||
# We don't support gcc-gdb-plugin on RHEL anymore.
|
# We don't support gcc-gdb-plugin on RHEL anymore.
|
||||||
%if 0%{!?rhel:1}
|
%if 0%{!?rhel:1}
|
||||||
BuildRequires: gcc-gdb-plugin%{?_isa}
|
BuildRequires: %{?scl_testing_prefix}gcc-gdb-plugin%{?_isa}
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?rhel:1} && 0%{?rhel} < 7
|
%if 0%{?rhel:1} && 0%{?rhel} < 7
|
||||||
BuildRequires: gcc-java libgcj%{bits_local} libgcj%{bits_other}
|
BuildRequires: gcc-java libgcj%{bits_local} libgcj%{bits_other}
|
||||||
@ -428,12 +424,12 @@ BuildRequires: libquadmath%{bits_local} libquadmath%{bits_other}
|
|||||||
BuildRequires: glibc-static%{bits_other}
|
BuildRequires: glibc-static%{bits_other}
|
||||||
%endif
|
%endif
|
||||||
%ifarch s390x
|
%ifarch s390x
|
||||||
BuildRequires: valgrind%{bits_local}
|
BuildRequires: %{?scl_testing_preifx}valgrind%{bits_local}
|
||||||
%if 0%{!?rhel:1} || 0%{?rhel} > 7
|
%if 0%{!?rhel:1} || 0%{?rhel} > 7
|
||||||
BuildRequires: valgrind%{bits_local} valgrind%{bits_other}
|
BuildRequires: %{?scl_testing_prefix}valgrind%{bits_local} valgrind%{bits_other}
|
||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
BuildRequires: valgrind%{bits_local} valgrind%{bits_other}
|
BuildRequires: %{?scl_testing_prefix}valgrind%{bits_local} valgrind%{bits_other}
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
@ -442,7 +438,7 @@ BuildRequires: xz
|
|||||||
BuildRequires: rust
|
BuildRequires: rust
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?el6:1}
|
%if 0%{!?el6:1}
|
||||||
BuildRequires: elfutils-debuginfod
|
BuildRequires: %{?scl_testing_prefix}elfutils-debuginfod
|
||||||
%endif
|
%endif
|
||||||
%endif # 0%{?_with_testsuite:1}
|
%endif # 0%{?_with_testsuite:1}
|
||||||
BuildRequires: make gmp-devel
|
BuildRequires: make gmp-devel
|
||||||
@ -1205,22 +1201,13 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Oct 30 2023 Guinevere Larsen <blarsen@redhat.com> - 12.1-5.el9
|
* Tue Jun 13 2023 Keith Seitz <keiths@redhat.com> - 12.1-3.el8
|
||||||
- Fix issue introduced when backporting the recursion limit to the rust demangler.
|
|
||||||
|
|
||||||
* Tue Oct 10 2023 Guinevere Larsen <blarsen@redhat.com> - 12.1-4.el9
|
|
||||||
- Backport "Fix typo in recent code to add stack recursion limit to the Rust demangler."
|
|
||||||
(Nick Clifton)
|
|
||||||
- Backport "Add a recursion limit to the demangle_const function in the Rust demangler."
|
|
||||||
(Nick Clifton, RHEL-4234)
|
|
||||||
|
|
||||||
* Tue Jun 13 2023 Keith Seitz <keiths@redhat.com> - 12.1-3.el9
|
|
||||||
- Backport "Update gdb-add-index.sh ..."
|
- Backport "Update gdb-add-index.sh ..."
|
||||||
(Andrew Burgess, RHBZ 2213228)
|
(Andrew Burgess, RHBZ 2214593)
|
||||||
|
|
||||||
* Thu Apr 27 2023 Keith Seitz <keiths@redhat.com> - 12.1-2.el9
|
* Thu Apr 27 2023 Keith Seitz <keiths@redhat.com> - 12.1-2.el9
|
||||||
- Backport binutls/29699 "Fix an illegal memory access when parsing..."
|
- Backport binutls/29699 "Fix an illegal memory access when parsing..."
|
||||||
(Nick Clifton, RHBZ 2153228)
|
(Nick Clifton, RHBZ 2153227)
|
||||||
|
|
||||||
* Tue Apr 18 2023 Keith Seitz <keiths@redhat.com> - 12.1-1.el9
|
* Tue Apr 18 2023 Keith Seitz <keiths@redhat.com> - 12.1-1.el9
|
||||||
- Initial import for GTS13.
|
- Initial import for GTS13.
|
||||||
|
Loading…
Reference in New Issue
Block a user