public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "tbsaunde+mozilla at tbsaunde dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/61548] [5 Regression] FAIL: gcc.dg/tls/alias-1.c (internal compiler error)
Date: Mon, 26 Jan 2015 10:05:00 -0000	[thread overview]
Message-ID: <bug-61548-4-oXlx6oGn3S@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-61548-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #14 from tbsaunde+mozilla at tbsaunde dot org ---
On Mon, Jan 26, 2015 at 03:56:05AM +0000, hubicka at ucw dot cz wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61548
> 
> --- Comment #13 from Jan Hubicka <hubicka at ucw dot cz> ---
> > So, what is here is:
> > emutls calls varpool_node::create_alias(decl("emutls_v.bar"),
> > decl("emutls_v.foo")) which sets alias = true and alias_target =
> > node("emutls_v.foo") on the node for "emutls_v.bar", however it does not set up
> > ref_list.references on node("emutls_v.bar") to point at node("emutls_v.foo").
> > Then during varification we call symtab_node::get_alias_target() which gets the
> > alias from node("emutls_v.bar").ref_list.references but that crashes becauses
> > references doesn't contain an element for the alias target.
> 
> The way to get the references for alias is to call alias->resolve_alias.
> The resolution normally happens at the end of parsing but if someone introduces
> new alias late, he needs to cal the resolve_alias manually.

With that fixed things get a little farther, but there's still a
problem.  symbol_table::remove_unreachable_node () decides to remove one
of the tls aliases.  When varpool_node::remove () is called it first
clears ref_list with a call to symtab_node::unregister () and then calls
varpool_node::cdtor_usable_for_folding () which tries to get the alias
target, and so crashes because ref_list has been cleared.  I guess the
simplest thing is to call cdtor_usable_for_folding earlier, but I don't
know if there's something better.

Trev


  parent reply	other threads:[~2015-01-26 10:05 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-18 10:29 [Bug regression/61548] New: " ktkachov at gcc dot gnu.org
2014-06-23 14:54 ` [Bug regression/61548] " jgreenhalgh at gcc dot gnu.org
2014-06-23 14:54 ` jgreenhalgh at gcc dot gnu.org
2014-06-23 14:57 ` jgreenhalgh at gcc dot gnu.org
2014-06-23 18:19 ` hp at gcc dot gnu.org
2014-06-23 22:27 ` hubicka at gcc dot gnu.org
2014-06-24  8:23 ` jgreenhalgh at gcc dot gnu.org
2014-07-23  4:49 ` [Bug regression/61548] [4.10 Regression] " pinskia at gcc dot gnu.org
2014-07-23  4:49 ` [Bug regression/61548] " pinskia at gcc dot gnu.org
2014-07-23  5:00 ` [Bug regression/61548] [4.10 Regression] " tony.wang at arm dot com
2014-11-19 13:49 ` [Bug ipa/61548] [5 " rguenth at gcc dot gnu.org
2014-11-19 13:52 ` ktkachov at gcc dot gnu.org
2014-12-01 12:27 ` rguenth at gcc dot gnu.org
2015-01-14 12:31 ` ramana at gcc dot gnu.org
2015-01-16  6:28 ` hubicka at gcc dot gnu.org
2015-01-16  9:55 ` ktkachov at gcc dot gnu.org
2015-01-23 22:05 ` tbsaunde at gcc dot gnu.org
2015-01-26  3:56 ` hubicka at ucw dot cz
2015-01-26 10:05 ` tbsaunde+mozilla at tbsaunde dot org [this message]
2015-02-01 21:24 ` hubicka at gcc dot gnu.org
2015-02-02 23:31 ` tbsaunde at gcc dot gnu.org
2015-02-05  0:11 ` hubicka at gcc dot gnu.org
2015-02-05  3:58 ` hubicka at gcc dot gnu.org
2015-02-05  4:02 ` hubicka at gcc dot gnu.org
2015-02-05  4:15 ` tbsaunde at tbsaunde dot org
2015-02-05  4:46 ` hubicka at gcc dot gnu.org
2015-02-05  4:46 ` hubicka at gcc dot gnu.org
2015-02-06 15:53 ` ktkachov at gcc dot gnu.org
2015-02-08 14:03 ` hp at gcc dot gnu.org
2015-02-08 14:04 ` hp at gcc dot gnu.org
2015-02-08 22:21 ` [Bug ipa/61548] [5 Regression] FAIL: gcc.dg/tls/alias-1.c hubicka at gcc dot gnu.org
2015-02-08 22:52 ` hubicka at gcc dot gnu.org
2015-02-09 12:00 ` hp at gcc dot gnu.org
2015-02-09 21:07 ` hubicka at gcc dot gnu.org
2015-02-09 21:09 ` hubicka 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-61548-4-oXlx6oGn3S@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).