diff --git a/bison-3.8.2-gcc15-glibcxx-assertions.patch b/bison-3.8.2-gcc15-glibcxx-assertions.patch deleted file mode 100644 index 245cc84..0000000 --- a/bison-3.8.2-gcc15-glibcxx-assertions.patch +++ /dev/null @@ -1,69 +0,0 @@ -https://bugs.gentoo.org/935754 -https://lists.gnu.org/archive/html/bison-patches/2024-07/msg00000.html - -* data/skeletons/glr2.cc (yyundeleteLastStack): Recover -yylookaheadNeeds stack entry also, to prevent desyncing the sizes -of yystates and yylookaheadNeeds. -(class glr_state_set): New field yylookaheadNeedLastDeleted, -tracks lookahead need of last deleted state. -(yymarkStackDeleted): Save yylookaheadNeeds also. ---- -Hi! - -GCC 15 has added bounds-checks to vector when assertions are -enabled. This has caught a bug in Bison. See bug referenced above. - -Now, WRT the fix: I am not sure of its correctness, but it appears to -pass tests and everything seems to indicate that the presumption it is -based on is correct. That presumption is that the two stacks mentioned -above (yylookaheadNeeds and yystates) ought to be the same size. I -inferred this because all other locations that alter the size of the two -vectors appear to do so in lock-step. - -TIA, have a lovely day. - - data/skeletons/glr2.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc -index 970ccfdf..8b962d6f 100644 ---- a/data/skeletons/glr2.cc -+++ b/data/skeletons/glr2.cc -@@ -1080,7 +1080,10 @@ namespace - { - size_t k = yyk.uget (); - if (yystates[k] != YY_NULLPTR) -- yylastDeleted = yystates[k]; -+ { -+ yylastDeleted = yystates[k]; -+ yylookaheadNeedLastDeleted = yylookaheadNeeds[k]; -+ } - yystates[k] = YY_NULLPTR; - } - -@@ -1093,6 +1096,7 @@ namespace - if (yylastDeleted == YY_NULLPTR || !yystates.empty ()) - return; - yystates.push_back (yylastDeleted); -+ yylookaheadNeeds.push_back (yylookaheadNeedLastDeleted); - YYCDEBUG << "Restoring last deleted stack as stack #0.\n"; - clearLastDeleted (); - } -@@ -1102,6 +1106,7 @@ namespace - void - yyremoveDeletes () - { -+ YYASSERT(yystates.size () == yylookaheadNeeds.size ()); - size_t newsize = yystates.size (); - /* j is the number of live stacks we have seen. */ - for (size_t i = 0, j = 0; j < newsize; ++i) -@@ -1160,6 +1165,7 @@ namespace - - /** The last stack we invalidated. */ - glr_state* yylastDeleted; -+ bool yylookaheadNeedLastDeleted; - }; // class glr_state_set - } // namespace - --- -2.45.2 diff --git a/bison.spec b/bison.spec index eabe3b8..be0e4c2 100644 --- a/bison.spec +++ b/bison.spec @@ -1,7 +1,7 @@ Summary: A GNU general-purpose parser generator Name: bison Version: 3.8.2 -Release: 11%{?dist} +Release: 9%{?dist} # An SPDX license string check done against bison-3.8.2 found strings # corresponding to the following licenses across the bison source tree: @@ -14,9 +14,6 @@ Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # gpg2 --export --export-options export-minimal 7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E > gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg Source2: gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg -# from Gentoo sys-devel/bison -Patch0: bison-3.8.2-gcc15-glibcxx-assertions.patch - # testsuite dependency BuildRequires: gcc-c++ BuildRequires: autoconf @@ -83,7 +80,7 @@ Bison manual section for more information. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -p1 +%autosetup %build %configure @@ -127,12 +124,6 @@ gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info* %{_libdir}/liby.a %changelog -* Wed Jul 23 2025 Fedora Release Engineering - 3.8.2-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 3.8.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - * Wed Jul 17 2024 Fedora Release Engineering - 3.8.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild