This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: MIPS TLS support


On Wed, 9 Mar 2005, Daniel Jacobowitz wrote:

> The TLS ABI defines the thread pointer access instruction as "rdhwr $3,
> $29".  It has to be that particular instruction, because a fast-path
> emulation is much more efficient when the destination register is fixed.

The ABI documentation at <http://www.linux-mips.org/wiki/index.php/NPTL> 
hasn't been updated for this fast-path decision, nor for the decision to 
change to %tpoff_lo in place of %lo(%tpoff) (etc.).

> +  mips*-*-*)
> +    conftest_s='
> +	.section .tdata,"awT",@progbits
> +x:
> +	.word 2
> +	.text
> +	lw $25, %call16(__tls_get_addr)($28)
> +	addiu $4, $28, %tlsgd(x)
> +	jalr $25'
> +	tls_first_major=2
> +	tls_first_minor=16
> +	tls_as_opt=--fatal-warnings

Other TLS configure tests test for all the different TLS models, whereas 
this seems to be the initial configure test I wrote to go along with 
initial binutils support for GD only.  Although binutils CVS has never had 
support for some models without support for the others, perhaps the 
configure test should nevertheless cover the other models as well?

-- 
Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
    jsm@polyomino.org.uk (personal mail)
    joseph@codesourcery.com (CodeSourcery mail)
    jsm28@gcc.gnu.org (Bugzilla assignments and CCs)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]