public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Nick Alcock <nick.alcock@oracle.com>
To: Joseph Myers <joseph@codesourcery.com>
Cc: Tobias Burnus <tobias@codesourcery.com>,
	Binutils <binutils@sourceware.org>
Subject: Re: Build issues due to patch "gprofng: a new GNU profiler" – CLOCK_MONOTONIC_RAW not defined
Date: Wed, 16 Mar 2022 11:30:48 +0000	[thread overview]
Message-ID: <87sfrijfrr.fsf@esperi.org.uk> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2203142041560.268705@digraph.polyomino.org.uk> (Joseph Myers's message of "Mon, 14 Mar 2022 20:53:36 +0000")

On 14 Mar 2022, Joseph Myers outgrape:
> (I might ask incidentally why the Bison output files QLParser.tab.cc and 
> QLParser.tab.hh are checked in - normally binutils doesn't commit Bison 
> output files to the repository on master, although it makes sure to 
> include them in release tarballs.  If there's a Bison version dependency 
> issue, then arrange not to build gprofng when the installed Bison is too 
> old.)

There is. Since we have a reentrant parser, we need either gross
hand-hacking of the generated parser to move everything into a class
(which is what the code *used* to do, and is a non-starter in my eyes),
or at least Bison 3.3 (for api.parser.class): it is quite possible that
some dependency on a later Bison has crept in, but that's not
*fundamental* to the parser the way the api.parser.class dependency is.

The right approach seems to me to be to check the generated parser into
the disted release tarball, and then to configure gprofng only if Bison
is sufficiently recent or if the generated parser is already present
(i.e. this is a release tarball). In any case the generated parser would
disappear from version control and dbe/Makefile.am would gain rules to
regenerate it (and also at dist time for the tarball).

I think the default Automake rules already do this, as do the gnulib
rules we would probably have to use instead due to the Automake rules
forcing bison -y. At any rate this does not look impossible, or even
that hard, certainly not compared to rewriting the parser or something.
And there's certainly no justification for bumping the treewide bison
version (if there even is one: I thought there was, but now I look for
it I can't find it). The only people who will need to upgrade bison for
this are people building gprofng from git checkouts and who want its
building to not be skipped, who are presumably either developing gprofng
(in which case upgrading bison is no trouble), or are distributors
working in recent distro leading edges (in which case they are almost
certainly both used to upgrading bison and are using a newer version
already).


It looks like the skip-configure-if-unsuitable stuff is hardwired into
the top-level configure.ac, but it also looks like it can use basically
any reason to suppress building of single directories, so checking for
new-bison-or-gprofng/dbe/QLParser.cc-exists seems at least technically
doable.

Does this all seem sane to everyone else?

-- 
NULL && (void)

      parent reply	other threads:[~2022-03-16 11:31 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-14 10:57 Tobias Burnus
2022-03-14 18:16 ` Vladimir Mezentsev
2022-03-15 15:24   ` Nick Clifton
2022-03-15 16:24     ` Tobias Burnus
2022-03-16 12:29       ` Nick Clifton
2022-03-16 14:55         ` Tobias Burnus
2022-03-18 15:25           ` Tobias Burnus
2022-03-18 15:47             ` Nick Clifton
2022-03-15 16:54     ` Vladimir Mezentsev
2022-03-15 16:59       ` Vladimir Mezentsev
2022-03-16  7:56       ` Tobias Burnus
2022-03-14 20:53 ` Joseph Myers
2022-03-14 21:52   ` Vladimir Mezentsev
2022-03-16 11:30   ` Nick Alcock [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sfrijfrr.fsf@esperi.org.uk \
    --to=nick.alcock@oracle.com \
    --cc=binutils@sourceware.org \
    --cc=joseph@codesourcery.com \
    --cc=tobias@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).