From: Eric Botcazou Date: Sat, 3 Mar 2012 13:44:52 +0000 (+0000) Subject: re PR target/52425 (ICE when compiling file from audacious with -fPIC -g) X-Git-Tag: releases/gcc-4.6.4~660 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a37076035ce3053a910308a4eb7e4f3f23640671;p=thirdparty%2Fgcc.git re PR target/52425 (ICE when compiling file from audacious with -fPIC -g) PR target/52425 Backport from mainline 2011-05-22 Eric Botcazou * config/sparc/sparc.c (sparc_delegitimize_address): Handle UNSPEC_MOVE_PIC pattern. From-SVN: r184855 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9648450c7186..79f1bce53d59 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2012-03-03 Eric Botcazou + + PR target/52425 + Backport from mainline + 2011-05-22 Eric Botcazou + + * config/sparc/sparc.c (sparc_delegitimize_address): Handle + UNSPEC_MOVE_PIC pattern. + 2012-03-02 Peter Bergner Backport from mainline diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index c93c25bbd0a6..f1c5ecd83e53 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -3658,13 +3658,17 @@ sparc_delegitimize_address (rtx x) { x = delegitimize_mem_from_attrs (x); - if (GET_CODE (x) == LO_SUM - && GET_CODE (XEXP (x, 1)) == UNSPEC - && XINT (XEXP (x, 1), 1) == UNSPEC_TLSLE) - { - x = XVECEXP (XEXP (x, 1), 0, 0); - gcc_assert (GET_CODE (x) == SYMBOL_REF); - } + if (GET_CODE (x) == LO_SUM && GET_CODE (XEXP (x, 1)) == UNSPEC) + switch (XINT (XEXP (x, 1), 1)) + { + case UNSPEC_MOVE_PIC: + case UNSPEC_TLSLE: + x = XVECEXP (XEXP (x, 1), 0, 0); + gcc_assert (GET_CODE (x) == SYMBOL_REF); + break; + default: + break; + } return x; }