aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2006-10-08 14:33:22 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2006-10-08 14:33:22 +0000
commit4afa41f130aad8e6b78d825b99abcd0b36faa0c4 (patch)
treed767e6dc4152c48523a43def5f059216ea575626 /gcc/config/mips
parent28f8c9e97bf154ca2ae2be7da91bb8ca109527b1 (diff)
downloadgcc-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.c6
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