public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hubicka at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
Date: Mon, 15 Apr 2024 15:46:03 +0000	[thread overview]
Message-ID: <bug-113208-4-gsxCcQXF5l@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-113208-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #25 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
So we have comdat groups that diverges in t1.o and t2.o.  In one object it has
alias in it while in other object it does not

Merging nodes for _ZN6vectorI12QualityValueEC2ERKS1_. Candidates:
_ZN6vectorI12QualityValueEC2ERKS1_/1 (__ct_base )
  Type: function definition analyzed
  Visibility: externally_visible semantic_interposition prevailing_def_ironly
public weak comdat comdat_group:_ZN6vectorI12QualityValueEC2ERKS1_ one_only
  next sharing asm name: 19
  References: 
  Referring:  
  Read from file: t1.o
  Unit id: 1
  Function flags: count:1073741824 (estimated locally)
  Called by: _Z1n1k/6 (1073741824 (estimated locally),1.00 per call) (can throw
external)
  Calls: _ZN12_Vector_baseI12QualityValueEC2Eii/10 (1073741824 (estimated
locally),1.00 per call) (can throw external)
_ZNK12_Vector_baseI12QualityValueE1gEv/9 (1073741824 (estimated locally),1.00
per call) (can throw external)
_ZN6vectorI12QualityValueEC2ERKS1_/19 (__ct_base )
  Type: function definition analyzed
  Visibility: externally_visible semantic_interposition preempted_ir public
weak comdat comdat_group:_ZN6vectorI12QualityValueEC5ERKS1_ one_only
  Same comdat group as: _ZN6vectorI12QualityValueEC1ERKS1_/20
  previous sharing asm name: 1
  References: 
  Referring: _ZN6vectorI12QualityValueEC1ERKS1_/20 (alias)
  Read from file: t2.o
  Unit id: 2
  Function flags: count:1073741824 (estimated locally)
  Called by:
  Calls: _ZN12_Vector_baseI12QualityValueEC2Eii/23 (1073741824 (estimated
locally),1.00 per call) (can throw external)
_ZNK12_Vector_baseI12QualityValueE1gEv/24 (1073741824 (estimated locally),1.00
per call) (can throw external)
After resolution:
_ZN6vectorI12QualityValueEC2ERKS1_/1 (__ct_base )
  Type: function definition analyzed
  Visibility: externally_visible semantic_interposition prevailing_def_ironly
public weak comdat comdat_group:_ZN6vectorI12QualityValueEC2ERKS1_ one_only
  next sharing asm name: 19
  References: 
  Referring: 
  Read from file: t1.o
  Unit id: 1
  Function flags: count:1073741824 (estimated locally)
  Called by: _Z1n1k/6 (1073741824 (estimated locally),1.00 per call) (can throw
external)
  Calls: _ZN12_Vector_baseI12QualityValueEC2Eii/10 (1073741824 (estimated
locally),1.00 per call) (can throw external)
_ZNK12_Vector_baseI12QualityValueE1gEv/9 (1073741824 (estimated locally),1.00
per call) (can throw external)

We opt for version without alias and later ICE in sanity check verifying that
aliases have same comdat group as their targets.

I wonder how this is ice-on-valid code, since with normal linking the aliased
symbol may or may not appear in the winning comdat group, so using he alias has
to break.

If constexpr changes how the constructor is generated, isn't this violation of
ODR?

We probably can go and reset every node in losing comdat group to silence the
ICE and getting undefined symbol instead

  parent reply	other threads:[~2024-04-15 15:46 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
2024-01-02 20:02 ` [Bug lto/113208] " doko at gcc dot gnu.org
2024-01-02 20:23 ` doko at gcc dot gnu.org
2024-01-06  6:15 ` pinskia at gcc dot gnu.org
2024-03-07 20:53 ` law at gcc dot gnu.org
2024-03-18  7:45 ` sjames at gcc dot gnu.org
2024-03-18  7:46 ` sjames at gcc dot gnu.org
2024-03-23  9:58 ` sjames at gcc dot gnu.org
2024-03-23 10:32 ` sjames at gcc dot gnu.org
2024-03-24 13:52 ` sjames at gcc dot gnu.org
2024-03-24 13:53 ` sjames at gcc dot gnu.org
2024-03-24 13:53 ` sjames at gcc dot gnu.org
2024-03-24 14:25 ` sjames at gcc dot gnu.org
2024-03-24 14:34 ` sjames at gcc dot gnu.org
2024-03-24 17:45 ` [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0 sjames at gcc dot gnu.org
2024-03-24 19:59 ` pinskia at gcc dot gnu.org
2024-03-24 20:03 ` sjames at gcc dot gnu.org
2024-03-24 20:03 ` sjames at gcc dot gnu.org
2024-03-24 20:09 ` pinskia at gcc dot gnu.org
2024-03-24 20:09 ` pinskia at gcc dot gnu.org
2024-03-24 20:09 ` pinskia at gcc dot gnu.org
2024-03-24 20:11 ` pinskia at gcc dot gnu.org
2024-03-25 23:43 ` pinskia at gcc dot gnu.org
2024-03-26 10:39 ` rguenth at gcc dot gnu.org
2024-04-04 14:59 ` jakub at gcc dot gnu.org
2024-04-10  7:29 ` rguenth at gcc dot gnu.org
2024-04-10 13:28 ` jakub at gcc dot gnu.org
2024-04-15 15:46 ` hubicka at gcc dot gnu.org [this message]
2024-04-15 15:48 ` pinskia at gcc dot gnu.org
2024-04-15 15:55 ` hubicka at gcc dot gnu.org
2024-04-15 17:15 ` hubicka at gcc dot gnu.org
2024-04-16  8:57 ` jakub at gcc dot gnu.org
2024-04-16 10:34 ` jakub at gcc dot gnu.org
2024-04-16 15:14 ` jakub at gcc dot gnu.org
2024-04-16 16:01 ` jakub at gcc dot gnu.org
2024-04-16 18:23 ` jakub at gcc dot gnu.org
2024-04-25 18:39 ` cvs-commit at gcc dot gnu.org
2024-04-25 18:49 ` [Bug lto/113208] [15 " jakub at gcc dot gnu.org
2024-05-15 16:52 ` cvs-commit 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-113208-4-gsxCcQXF5l@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).