diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-08 14:33:22 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-08 14:33:22 +0000 |
commit | 73816ab17f5735ecadbafe8724bb3bdabce92d70 (patch) | |
tree | d767e6dc4152c48523a43def5f059216ea575626 /gcc | |
parent | 16af3de20aba6b948f4a479fd172a59352d1d1f5 (diff) | |
download | gcc-73816ab17f5735ecadbafe8724bb3bdabce92d70.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117557 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a06e24a6870..e56f7382578 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2006-10-08 Richard Sandiford <richard@codesourcery.com> + * 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 <richard@codesourcery.com> + * config/mips/mips.c (mips_classify_symbol): Do not return SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK. (mips_in_small_data_p): Tweak comments. 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 |