From 4afa41f130aad8e6b78d825b99abcd0b36faa0c4 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sun, 8 Oct 2006 14:33:22 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/mips/mips.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a06e24a6870..e56f7382578 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-10-08 Richard Sandiford + + * 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. + 2006-10-08 Richard Sandiford * config/mips/mips.c (mips_classify_symbol): Do not return diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 54fc3e1c47c..6ff25620dbe 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 -- 2.30.2