http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46179

--- Comment #2 from Maxim Kuvyrkov <mkuvyrkov at gcc dot gnu.org> 2010-10-26 
22:14:02 UTC ---
Just to check that this is not a lingering issue from backporting, do you have
the following comment in gcc/config/m68k/m68k.c ?  I fixed a very similar issue
before checking the final GCC TLS patch.

  /* Combine and, possibly, other optimizations may do good job
     converting
       (const (unspec [(symbol)]))
     into
       (const (plus (unspec [(symbol)])
                    (const_int N))).
     The problem with this is emitting @TLS or @GOT decorations.
     The decoration is emitted when processing (unspec), so the
     result would be "#sym...@tlsle+n" instead of "#symbo...@tlsle".

     It seems that the easiest solution to this is to convert such
     operands to
       (const (unspec [(plus (symbol)
                             (const_int N))])).
     Note, that the top level of operand remains intact, so we don't have
     to patch up anything outside of the operand.  */

Reply via email to