diff options
author | Richard Sandiford <richard@codesourcery.com> | 2006-10-08 14:33:22 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2006-10-08 14:33:22 +0000 |
commit | 4afa41f130aad8e6b78d825b99abcd0b36faa0c4 (patch) | |
tree | d767e6dc4152c48523a43def5f059216ea575626 /gcc/config/mips | |
parent | 28f8c9e97bf154ca2ae2be7da91bb8ca109527b1 (diff) | |
download | gcc-4afa41f130aad8e6b78d825b99abcd0b36faa0c4.zip gcc-4afa41f130aad8e6b78d825b99abcd0b36faa0c4.tar.gz gcc-4afa41f130aad8e6b78d825b99abcd0b36faa0c4.tar.bz2 |
mips.c (mips_legitimize_tls_address): Implement all TLS models in the same way as local exec if !TARGET_ABICALLS.
gcc/
* config/mips/mips.c (mips_legitimize_tls_address): Implement
all TLS models in the same way as local exec if !TARGET_ABICALLS.
Remove stray newline.
From-SVN: r117557
Diffstat (limited to 'gcc/config/mips')
-rw-r--r-- | gcc/config/mips/mips.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 54fc3e1..6ff2562 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -2036,6 +2036,11 @@ mips_legitimize_tls_address (rtx loc) v1 = gen_rtx_REG (Pmode, GP_RETURN + 1); model = SYMBOL_REF_TLS_MODEL (loc); + /* Only TARGET_ABICALLS code can have more than one module; other + code must be be static and should not use a GOT. All TLS models + reduce to local exec in this situation. */ + if (!TARGET_ABICALLS) + model = TLS_MODEL_LOCAL_EXEC; switch (model) { @@ -2078,7 +2083,6 @@ mips_legitimize_tls_address (rtx loc) break; case TLS_MODEL_LOCAL_EXEC: - if (Pmode == DImode) emit_insn (gen_tls_get_tp_di (v1)); else |