[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build problems: bison 3.7.1 + other versions

From: Yu, Mingli
Subject: Re: Build problems: bison 3.7.1 + other versions
Date: Mon, 7 Sep 2020 09:21:21 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Thanks Akim, I will verify the tarball you provide then.


On 9/5/20 3:58 PM, Akim Demaille wrote:
Hi Claudio, Hi Mingli,

Le 4 sept. 2020 à 06:34, Akim Demaille <akim@lrde.epita.fr> a écrit :

Hi Claudio,

Le 3 sept. 2020 à 10:20, Claudio Calvelli <bugb@w42.org> a écrit :

I'm including below examples of how to trigger the problem on three
different processors, hoping that this helps somebody to reproduce
the problem on other systems.  The exact value of the "-l" option
doesn't quite matter as I've tried small ranges, but it needs to
be there together with the "-j" to trigger a problem.

Thanks a lot for this bug report!  This had already been reported
before (https://github.com/akimd/bison/issues/31) and a workaround
was submitted

But I was unable to reproduce the problem and fix the core issue.
Thanks to your findings, I might be able to find the real problem
and fix it soon.

I think I have it now!  I was able to reproduce it easily thanks
to the -l0.5 trick, and now I can no longer get it to fail.  See
the fix below (which I'm pushing into the maint branch, it will
be merged into master later).

Thanks a lot to both of you for the report!  Could you please check
this tarball to confirm it does address the issue for you too?


I plan to release Bison 3.7.2 tomorrow.


commit 997589035a68ef1e315901ea063cafeb273f1802
Author: Akim Demaille <akim.demaille@gmail.com>
Date:   Sat Sep 5 09:28:56 2020 +0200

     build: fix incorrect dependencies
Commit af000bab111768a04021bf5ffa4bbe91d44e231c ("doc: work around
     Texinfo 6.7 bug"), published in 3.4.91, added a dependency on the
     "all" target.
This is a super bad idea, since "make all" will run this
     target *before* "all", which builds bison.  It turns out that this new
     dependency actually needed bison to be built.  So all the regular
     process (i) build $(BUILT_SOURCES) and then (ii) build bison, was
     wrecked since some of the $(BUILT_SOURCES) depended on bison...
It was "easy" to see in the logs of "make V=1" because we were
     building bison files (such as src/files.o) *before* displaying the
     banner for "all-recursive".  With this fix, we finally get again the
     proper sequence:
rm -f examples/c/reccalc/scan.stamp examples/c/reccalc/scan.stamp.tmp
         /opt/local/libexec/gnubin/mkdir -p examples/c/reccalc
         touch examples/c/reccalc/scan.stamp.tmp
         flex   -oexamples/c/reccalc/scan.c --header=examples/c/reccalc/scan.h 
         mv examples/c/reccalc/scan.stamp.tmp examples/c/reccalc/scan.stamp
         rm -f lib/fcntl.h-t lib/fcntl.h && \
         { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
         } > lib/fcntl.h-t && \
         mv lib/fcntl.h-t lib/fcntl.h
         mv -f lib/alloca.h-t lib/alloca.h
         make  all-recursive
Reported by Mingli Yu <mingli.yu@windriver.com>.
Reported by Claudio Calvelli.
* doc/local.mk (all): Rename as...
     (all-local): this.
     So that we don't compete with BUILT_SOURCES.

diff --git a/NEWS b/NEWS
index d5a816b4..52f4e3c2 100644
--- a/NEWS
+++ b/NEWS
@@ -13,9 +13,11 @@ GNU Bison NEWS
** Bug fixes + Fix concurrent build issues (introduced in Bison 3.5).
    Push parsers always use YYMALLOC/YYFREE (no direct calls to malloc/free).
- Portability issues of the test suite, and of bison itself.
+  Fix portability issues of the test suite, and of bison itself.
Some unlikely crashes found by fuzzing have been fixed. This is only
    about bison itself, not the generated parsers.
diff --git a/doc/local.mk b/doc/local.mk
index ab5b7454..f5590015 100644
--- a/doc/local.mk
+++ b/doc/local.mk
# Fix Info's @code in @deftype
  # https://lists.gnu.org/archive/html/help-texinfo/2019-11/msg00004.html
-all: $(srcdir)/$(%C%_bison).info.bak
+all-local: $(srcdir)/$(%C%_bison).info.bak
  $(srcdir)/$(%C%_bison).info.bak: $(srcdir)/$(%C%_bison).info
        $(AM_V_GEN) $(PERL) -pi.bak -0777       \
          -e 's{(^ --.*\n(?: {10}.*\n)*)}'      \

reply via email to

[Prev in Thread] Current Thread [Next in Thread]