aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-11-30 09:49:03 +0000
committerAlan Modra <amodra@gcc.gnu.org>2004-11-30 20:19:03 +1030
commit0050e8620a98776c3508acd826c328e7c5023fd3 (patch)
tree4bf5c21328c20ab2a456f4810a1fdb075a864456 /gcc/varasm.c
parent7370bebd3f4bf1725a73073c027ba13afc127f40 (diff)
downloadgcc-0050e8620a98776c3508acd826c328e7c5023fd3.zip
gcc-0050e8620a98776c3508acd826c328e7c5023fd3.tar.gz
gcc-0050e8620a98776c3508acd826c328e7c5023fd3.tar.bz2
varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL on TLS symbols.
* varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL on TLS symbols. * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS check. From-SVN: r91515
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index e58422d..e4fb1ee 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -5097,10 +5097,10 @@ default_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED)
flags |= SYMBOL_FLAG_FUNCTION;
if (targetm.binds_local_p (decl))
flags |= SYMBOL_FLAG_LOCAL;
- if (targetm.in_small_data_p (decl))
- flags |= SYMBOL_FLAG_SMALL;
if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL (decl))
flags |= decl_tls_model (decl) << SYMBOL_FLAG_TLS_SHIFT;
+ else if (targetm.in_small_data_p (decl))
+ flags |= SYMBOL_FLAG_SMALL;
/* ??? Why is DECL_EXTERNAL ever set for non-PUBLIC names? Without
being PUBLIC, the thing *must* be defined in this translation unit.
Prevent this buglet from being propagated into rtl code as well. */