Compare commits
No commits in common. "rawhide" and "f35" have entirely different histories.
5 changed files with 8 additions and 227 deletions
|
|
@ -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<bool> 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
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Run this in a bison source tree basedir to quickly guess the licensing
|
||||
# status of various bison source files. e.g. when using
|
||||
# glibc-maintainer-scripts for package maintenance, this means running it in
|
||||
# the bison-patches directory.
|
||||
# We use this because for some reason, fossology is unable to grok bison
|
||||
# sources for a license analysis.
|
||||
|
||||
for f in $(find . -type f | grep -v '\.git/' | grep -v 'gnulib/'); do
|
||||
|
||||
if file $f | grep -q text; then # Hoping this is true iff the file is a text file
|
||||
|
||||
license="Unknown"
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "This.*file is free software; the Free Software Foundation" \
|
||||
| grep -C50 -i "unlimited permission to copy and/or distribute it" \
|
||||
| grep -C50 -i "with or without" \
|
||||
| grep -qi "modifications, as long as this notice is preserved"; then
|
||||
license="FSFULLR"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "This.*\(program\|file\) is free software" \
|
||||
| grep -C50 -i "GNU General Public License" \
|
||||
| grep -C50 -i "either version 2" \
|
||||
| grep -qi "any later version"; then
|
||||
license="GPL-2.0-or-later"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "This.*\(program\|file\) is free" \
|
||||
| grep -C50 -i "GNU General Public License" \
|
||||
| grep -C50 -i "either version 3" \
|
||||
| grep -qi "any later version"; then
|
||||
license="GPL-3.0-or-later"
|
||||
fi
|
||||
|
||||
# Order of check for v2 and v2.1 is important here;
|
||||
# "either version 2" will also match "either version 2.1"
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "This.*\(program\|file\) is free software" \
|
||||
| grep -C50 -i "GNU Lesser General Public License" \
|
||||
| grep -C50 -i "either version 2" \
|
||||
| grep -qi "any later version"; then
|
||||
license="LGPL-2.0-or-later"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "Th.* is free software" \
|
||||
| grep -C50 -i "GNU Lesser General Public" \
|
||||
| grep -C50 -i "License" \
|
||||
| grep -C50 -i "either" \
|
||||
| grep -C50 -i "version 2.1" \
|
||||
| grep -qi "any later version"; then
|
||||
license="LGPL-2.1-or-later"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "This.*\(program\|file\) is free software" \
|
||||
| grep -C50 -i "GNU Lesser General Public License" \
|
||||
| grep -C50 -i "either version 3" \
|
||||
| grep -qi "any later version"; then
|
||||
license="LGPL-3.0-or-later"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "Permission is granted" \
|
||||
| grep -C50 -i "copy, distribute.*modify" \
|
||||
| grep -C50 -i "GNU Free Documentation License" \
|
||||
| grep -C50 -i "Version 1.3" \
|
||||
| grep -qi "any later version"; then
|
||||
license="GFDL-1.3-or-later"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "Permission is hereby granted, free of charge" \
|
||||
| grep -C50 -i "to any person" \
|
||||
| grep -C50 -i "the Software without restriction" \
|
||||
| grep -C50 -i "use, copy, modify, merge, publish, distribute, sublicense" \
|
||||
| grep -qi "X Consortium"; then
|
||||
license="X11"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -C50 -i "This file is distributed under the same license as" \
|
||||
| grep -qi "package"; then
|
||||
license="Same-as-package-license"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -A20 -i "as .*exception" \
|
||||
| grep -qi "2\.2 of bison"; then
|
||||
license="$license WITH Bison-exception-2.2"
|
||||
fi
|
||||
|
||||
if head -n50 $f \
|
||||
| grep -A20 -i "as .*exception" \
|
||||
| grep -A20 -i "distribute" \
|
||||
| grep -A20 -i "generated by autoconf" \
|
||||
| grep -qi "same distribution terms"; then
|
||||
license="$license WITH Autoconf-exception-generic-3.0"
|
||||
fi
|
||||
|
||||
echo $license "("$f")"
|
||||
fi;
|
||||
done | sort
|
||||
51
bison.spec
51
bison.spec
|
|
@ -1,12 +1,8 @@
|
|||
Summary: A GNU general-purpose parser generator
|
||||
Name: bison
|
||||
Version: 3.8.2
|
||||
Release: 11%{?dist}
|
||||
|
||||
# An SPDX license string check done against bison-3.8.2 found strings
|
||||
# corresponding to the following licenses across the bison source tree:
|
||||
License: GPL-3.0-or-later AND GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-2.0-or-later AND GPL-2.0-or-later WITH Autoconf-exception-generic AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later AND FSFULLR AND GFDL-1.3-or-later AND X11
|
||||
|
||||
Version: 3.7.6
|
||||
Release: 3%{?dist}
|
||||
License: GPLv3+
|
||||
Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
||||
Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
|
||||
# genereted from https://ftp.gnu.org/gnu/gnu-keyring.gpg via:
|
||||
|
|
@ -14,9 +10,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 +76,7 @@ Bison manual section for more information.
|
|||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%autosetup -p1
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
%configure
|
||||
|
|
@ -127,42 +120,6 @@ gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info*
|
|||
%{_libdir}/liby.a
|
||||
|
||||
%changelog
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Sep 1 2023 Arjun Shankar <arjun@redhat.com> - 3.8.2-6
|
||||
- Analyse bison sources for license information
|
||||
- Migrate License field to SPDX identifiers for
|
||||
https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2
|
||||
(#2222079)
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Dec 13 2021 Arjun Shankar <arjun@redhat.com> - 3.8.2-1
|
||||
- Update to bison 3.8.2 (#2002074)
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
summary: CI Gating Plan
|
||||
discover:
|
||||
how: fmf
|
||||
directory: tests
|
||||
execute:
|
||||
how: tmt
|
||||
how: beakerlib
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (bison-3.8.2.tar.xz) = d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444
|
||||
SHA512 (bison-3.8.2.tar.xz.sig) = 8bb7743ca326e81a6c091b1413e3c09bd43c7eabbb80bac0638ccd52bdf7e3395cce300a86acd95f4637a9ec8a1b0e9a4d3d25d95ab0a8f03e57fd82eb87a7ac
|
||||
SHA512 (bison-3.7.6.tar.xz) = 6c1c9b825fbd2c94b8903f03a7e68e6832599f7bbd8d3c49864537c11b038c45a15de02fd36128d662af314334c83515bbc132df84e9acc6c651e98649c65bad
|
||||
SHA512 (bison-3.7.6.tar.xz.sig) = ed01c5355a7f28f3670184ecf15ab08cf5e8aacf87ee5c210d2ca2e6aa0829e443cabb18e4dd146a0d7d84a166623f36dff17b6b5150238da7c857484b2356c6
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue