Hi,

Trunk fails to build on sh4-unknown-linux-gnu with an ICE
during compiling libgomp.  See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61550
for detail.  sh.c:prepare_move_operands has the code for
TLS addresses which shouldn't be run if reload in progress
or done.
The attached patch is to fix it.  Committed on trunk.

Regards,
        kaz
--

2014-06-18  Kaz Kojima  <kkoj...@gcc.gnu.org>

        PR target/61550
        * config/sh/sh.c (prepare_move_operands): Don't process TLS
        addresses here if reload in progress or completed.

--- ORIG/trunk/gcc/config/sh/sh.c       2014-06-17 21:21:32.043445314 +0900
+++ trunk/gcc/config/sh/sh.c    2014-06-18 08:26:27.846157153 +0900
@@ -1758,7 +1758,8 @@ prepare_move_operands (rtx operands[], e
       else
        opc = NULL_RTX;
 
-      if ((tls_kind = tls_symbolic_operand (op1, Pmode)) != TLS_MODEL_NONE)
+      if (! reload_in_progress && ! reload_completed
+         && (tls_kind = tls_symbolic_operand (op1, Pmode)) != TLS_MODEL_NONE)
        {
          rtx tga_op1, tga_ret, tmp, tmp2;
 

Reply via email to