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 bootstrap/115167] [15 Regression] CFG edge visualization to path-printing bootstrap failure
Date: Tue, 28 May 2024 17:08:09 +0000	[thread overview]
Message-ID: <bug-115167-4-7b7olOkFno@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-115167-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Malcolm <dmalcolm@gcc.gnu.org>:

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

commit r15-865-gb544ff88560e100e53ed8966d38f172c5bafce8d
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Tue May 28 13:04:25 2024 -0400

    Fix bootstrap on AIX by adding c-family/c-type-mismatch.cc [PR115167]

    PR bootstrap/115167 reports a bootstrap failure on AIX triggered by
    r15-636-g770657d02c986c whilst building f951 in stage 2, due to
    the linker not being able to find symbols for:

      vtable for range_label_for_type_mismatch
      range_label_for_type_mismatch::get_text(unsigned int) const

    The only users of the class range_label_for_type_mismatch are in the
    C/C++ frontends, each of which supply their own implementation of:

      range_label_for_type_mismatch::get_text(unsigned int) const

    i.e. we had a cluster of symbols that was disconnnected from any
    users on f951.

    The above patch added a new range_label::get_effects vfunc to the
    base class.  My hunch is that we were getting away with not defining
    the symbol for Fortran with AIX's linker before (since none of the
    users are used), but adding the get_effects vfunc has somehow broken
    things (possibly because there's an empty implementation in the base
    class in the *header*).

    The following patch moves all of the code in
    gcc/gcc-rich-location.[cc,h,o} defining and using
    range_label_for_type_mismatch to a new
    gcc/c-family/c-type-mismatch.{cc,h,o}, to help the linker ignore this
    cluster of symbols when it's disconnected from users.

    I was able to reproduce the failure without the patch, and then
    successfully bootstrap with this patch on powerpc-ibm-aix7.3.1.0
    (cfarm119).

    gcc/ChangeLog:
            PR bootstrap/115167
            * Makefile.in (C_COMMON_OBJS): Add c-family/c-type-mismatch.o.
            * gcc-rich-location.cc
            (maybe_range_label_for_tree_type_mismatch::get_text): Move to
            c-family/c-type-mismatch.cc.
            (binary_op_rich_location::binary_op_rich_location): Likewise.
            (binary_op_rich_location::use_operator_loc_p): Likewise.
            * gcc-rich-location.h (class range_label_for_type_mismatch):
            Likewise.
            (class maybe_range_label_for_tree_type_mismatch): Likewise.
            (class op_location_t): Likewise for forward decl.
            (class binary_op_rich_location): Likewise.

    gcc/c-family/ChangeLog:
            PR bootstrap/115167
            * c-format.cc: Replace include of "gcc-rich-location.h" with
            "c-family/c-type-mismatch.h".
            * c-type-mismatch.cc: New file, taking material from
            gcc-rich-location.cc.
            * c-type-mismatch.h: New file, taking material from
            gcc-rich-location.h.
            * c-warn.cc: Replace include of "gcc-rich-location.h" with
            "c-family/c-type-mismatch.h".

    gcc/c/ChangeLog:
            PR bootstrap/115167
            * c-objc-common.cc: Replace include of "gcc-rich-location.h" with
            "c-family/c-type-mismatch.h".
            * c-typeck.cc: Likewise.

    gcc/cp/ChangeLog:
            PR bootstrap/115167
            PR bootstrap/115167
            * call.cc: Replace include of "gcc-rich-location.h" with
            "c-family/c-type-mismatch.h".
            * error.cc: Likewise.
            * typeck.cc: Likewise.

    Signed-off-by: David Malcolm <dmalcolm@redhat.com>

  parent reply	other threads:[~2024-05-28 17:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-20 18:37 [Bug bootstrap/115167] New: " dje at gcc dot gnu.org
2024-05-20 20:57 ` [Bug bootstrap/115167] [15 Regression] " dmalcolm at gcc dot gnu.org
2024-05-20 22:03 ` dje at gcc dot gnu.org
2024-05-21  0:46 ` dje at gcc dot gnu.org
2024-05-21  6:42 ` rguenth at gcc dot gnu.org
2024-05-21 13:38 ` dmalcolm at gcc dot gnu.org
2024-05-24  1:42 ` dmalcolm at gcc dot gnu.org
2024-05-24 12:09 ` dje at gcc dot gnu.org
2024-05-28 17:08 ` cvs-commit at gcc dot gnu.org [this message]
2024-05-28 17:16 ` dmalcolm 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-115167-4-7b7olOkFno@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).