public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Sandra Loosemore <sandra@codesourcery.com>
To: GCC Patches <gcc-patches@gcc.gnu.org>
Cc: Chung-Lin Tang <cltang@CODESOURCERY.COM>
Subject: [nios2, committed] fix bad assertion
Date: Mon, 29 Jun 2015 17:18:00 -0000	[thread overview]
Message-ID: <559179DB.8020505@codesourcery.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 844 bytes --]

When I was preparing to regression-test something else in a 
nios2-linux-gnu build, I discovered it was ICE'ing while building shared 
libraries with -fpic (glibc, libgomp).  I tracked this down to having 
started with r224048, but on further investigation I decided that commit 
merely exposed a latent bug.

The trouble is that the assertion in nios2_delegitimize_address is too 
restrictive compared to what nios2_legitimize_address can produce.  It's 
expecting to find a SYMBOL_REF underneath but in one case it was 
crashing on a LABEL_REF (for a computed goto), and in another case it 
was a symbol + offset expression which is even documented with a big 
block of comments in nios2_legitimize_address.  I've checked in this 
patch to relax the assertion; it allows the toolchain to build again, 
and test results look decent.

-Sandra


[-- Attachment #2: gcc-unspec.log --]
[-- Type: text/x-log, Size: 148 bytes --]

2015-06-29  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.c (nios2_delegitimize_address): Make
	assert less restrictive.

[-- Attachment #3: gcc-unspec.patch --]
[-- Type: text/x-patch, Size: 438 bytes --]

Index: gcc/config/nios2/nios2.c
===================================================================
--- gcc/config/nios2/nios2.c	(revision 225094)
+++ gcc/config/nios2/nios2.c	(working copy)
@@ -1920,7 +1920,7 @@ nios2_delegitimize_address (rtx x)
 	case UNSPEC_LOAD_TLS_IE:
 	case UNSPEC_ADD_TLS_LE:
 	  x = XVECEXP (XEXP (x, 0), 0, 0);
-	  gcc_assert (GET_CODE (x) == SYMBOL_REF);
+	  gcc_assert (CONSTANT_P (x));
 	  break;
 	}
     }

             reply	other threads:[~2015-06-29 17:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-29 17:18 Sandra Loosemore [this message]
2016-05-21  8:30 ` Chung-Lin Tang

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=559179DB.8020505@codesourcery.com \
    --to=sandra@codesourcery.com \
    --cc=cltang@CODESOURCERY.COM \
    --cc=gcc-patches@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).