public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug other/97911] [11 regression] make install issue undefined reference to std::__throw_bad_array_new_length after r11-5142
Date: Fri, 20 Nov 2020 07:50:09 +0000	[thread overview]
Message-ID: <bug-97911-4-Fult74FPvq@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-97911-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97911

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:a774a6a2fbeaf7cbcb7a7afe433418f2d740b45b

commit r11-5190-ga774a6a2fbeaf7cbcb7a7afe433418f2d740b45b
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Nov 20 08:45:11 2020 +0100

    configury: Fix up --enable-link-serialization support

    Eric reported that the --enable-link-serialization changes seemed to
    cause the binaries to be always relinked, for example from the
    gcc/ directory of the build tree:
    make
    [relink of gnat1, brig1, cc1plus, d21, f951, go1, lto1, ...]
    make
    [relink of gnat1, brig1, cc1plus, d21, f951, go1, lto1, ...]
    Furthermore as reported in PR, it can cause problems during make install
    where make install rebuilds the binaries again.

    The problem is that for make .PHONY targets are just
    "rebuilt" always, so it is very much undesirable for the cc1plus$(exeext)
    etc. dependencies to include .PHONY targets, but I was using
    them - cc1plus.prev which would depend on some *.serial and
    e.g. cc1.serial depending on c and c depending on cc1$(exeext).

    The following patch rewrites this so that *.serial and *.prev aren't
    .PHONY targets, but instead just make variables.

    I was worried that the order in which the language makefile fragments are
    included (which is quite random, what order we get from the filesystem
    matching */config-lang.in) would be a problem but it seems to work fine
    - as it uses make = rather than := variables, later definitions are just
    fine for earlier uses as long as the uses aren't needed during the
    makefile parsing, but only in the dependencies of make targets and in
    their commands.

    2020-11-20  Jakub Jelinek  <jakub@redhat.com>

            PR other/97911
    gcc/
            * configure.ac: In SERIAL_LIST use lang words without .serial
            suffix.  Change $lang.prev from a target to variable and instead
            of depending on *.serial expand to the *.serial variable if
            the word is in the SERIAL_LIST at all, otherwise to nothing.
            * configure: Regenerated.
    gcc/c/
            * Make-lang.in (c.serial): Change from goal to a variable.
            (.PHONY): Drop c.serial.
    gcc/ada/
            * gcc-interface/Make-lang.in (ada.serial): Change from goal to a
            variable.
            (.PHONY): Drop ada.serial and ada.prev.
            (gnat1$(exeext)): Depend on $(ada.serial) rather than ada.serial.
    gcc/brig/
            * Make-lang.in (brig.serial): Change from goal to a variable.
            (.PHONY): Drop brig.serial and brig.prev.
            (brig1$(exeext)): Depend on $(brig.serial) rather than brig.serial.
    gcc/cp/
            * Make-lang.in (c++.serial): Change from goal to a variable.
            (.PHONY): Drop c++.serial and c++.prev.
            (cc1plus$(exeext)): Depend on $(c++.serial) rather than c++.serial.
    gcc/d/
            * Make-lang.in (d.serial): Change from goal to a variable.
            (.PHONY): Drop d.serial and d.prev.
            (d21$(exeext)): Depend on $(d.serial) rather than d.serial.
    gcc/fortran/
            * Make-lang.in (fortran.serial): Change from goal to a variable.
            (.PHONY): Drop fortran.serial and fortran.prev.
            (f951$(exeext)): Depend on $(fortran.serial) rather than
            fortran.serial.
    gcc/go/
            * Make-lang.in (go.serial): Change from goal to a variable.
            (.PHONY): Drop go.serial and go.prev.
            (go1$(exeext)): Depend on $(go.serial) rather than go.serial.
    gcc/jit/
            * Make-lang.in (jit.serial): Change from goal to a
            variable.
            (.PHONY): Drop jit.serial and jit.prev.
            ($(LIBGCCJIT_FILENAME)): Depend on $(jit.serial) rather than
            jit.serial.
    gcc/lto/
            * Make-lang.in (lto1.serial, lto2.serial): Change from goals to
            variables.
            (.PHONY): Drop lto1.serial, lto2.serial, lto1.prev and lto2.prev.
            ($(LTO_EXE)): Depend on $(lto1.serial) rather than lto1.serial.
            ($(LTO_DUMP_EXE)): Depend on $(lto2.serial) rather than
lto2.serial.
    gcc/objc/
            * Make-lang.in (objc.serial): Change from goal to a variable.
            (.PHONY): Drop objc.serial and objc.prev.
            (cc1obj$(exeext)): Depend on $(objc.serial) rather than
objc.serial.
    gcc/objcp/
            * Make-lang.in (obj-c++.serial): Change from goal to a variable.
            (.PHONY): Drop obj-c++.serial and obj-c++.prev.
            (cc1objplus$(exeext)): Depend on $(obj-c++.serial) rather than
            obj-c++.serial.

  parent reply	other threads:[~2020-11-20  7:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-19 16:42 [Bug other/97911] New: " seurer at gcc dot gnu.org
2020-11-19 19:15 ` [Bug other/97911] " tnfchris at gcc dot gnu.org
2020-11-19 19:47 ` jakub at gcc dot gnu.org
2020-11-19 23:21 ` tnfchris at gcc dot gnu.org
2020-11-19 23:24 ` ebotcazou at gcc dot gnu.org
2020-11-19 23:30 ` jakub at gcc dot gnu.org
2020-11-20  7:50 ` cvs-commit at gcc dot gnu.org [this message]
2020-11-20  7:51 ` jakub at gcc dot gnu.org
2020-11-20  7:53 ` jakub at gcc dot gnu.org
2020-11-20 16:06 ` seurer at gcc dot gnu.org
2021-09-27 22:42 ` ldalessandro at gmail dot com
2021-09-27 22:46 ` pinskia at gcc dot gnu.org

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=bug-97911-4-Fult74FPvq@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /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).