Fix 64-bit Solaris 2/x86 IE TLS code sequence (PR target/43309)

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Tue Dec 21 17:11:00 GMT 2010


Uros Bizjak <ubizjak@gmail.com> writes:

> Anyway, attached patch also generates correct code for my small tests.
> Rainer, can you please test attached patch?

Unfortunately, this doesn't work.  E.g. for the g++.dg/tls/static-1.C
testcase, I get this difference (among others) for static-1a.s:

--- 11-gcc/gcc/testsuite/g++/static-1a.s        2010-12-21 17:18:41.725085343 +0
100
+++ 11-gcc.new/gcc/testsuite/g++/static-1a.s    2010-12-21 17:17:58.242204790 +0
100
@@ -6,14 +6,21 @@
 _Z4testv:
 .LFB0:
        movq    %fs:0, %rax
+       movq    %rax, %rcx
        addq    _ZN1A1iE@gottpoff(%rip), %rax

I.e. there's an intervening insn between the movq %fs:0, %rax and the
addq, which current Sun ld cannot handle.

All the testcases that were fixed by my patch (augmented to remove the
expander) are now failing again.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University



More information about the Gcc-patches mailing list