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

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Wed Dec 22 15:11:00 GMT 2010


Richard Henderson <rth@redhat.com> writes:

> I thought that might happen, Uros.  You can't split the patterns
> for Sun ld.

How should we proceed from here?  Return to my version of the patch?
While performing a x86_64-unknown-linux-gnu bootstrap for good measure,
I noticed that there's a problem there: bootstrap fails like this:

/var/gcc/src/hg/trunk/solaris/gcc/config/i386/i386.c: In function 'legitimize_tls_address':
/var/gcc/src/hg/trunk/solaris/gcc/config/i386/i386.c:12551:4: error: implicit declaration of function 'gen_tls_initial_exec_64_sun' [-Werror=implicit-function-declaration]
/var/gcc/src/hg/trunk/solaris/gcc/config/i386/i386.c:12551:4: error: passing argument 1 of 'emit_insn' makes pointer from integer without a cast [-Werror]
/var/gcc/src/hg/trunk/solaris/gcc/rtl.h:1725:12: note: expected 'rtx' but argument is of type 'int'
cc1: all warnings being treated as errors

make[3]: *** [i386.o] Error 1

gen_tls_initial_exec_64_sun isn't declared in insn-flags.h, probably
because TARGET_SUN_TLS is 0 in i386.h.  What's the best way to avoid
this?  Wrap the TARGET_64BIT && TARGET_SUN_TLS section in i386.c
(legitimize_tls_address) in #if TARGET_SUN_TLS?

	Rainer

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



More information about the Gcc-patches mailing list