summaryrefslogtreecommitdiffstats
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-30 09:49:03 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-30 09:49:03 +0000
commita368426e837ffbdcf6dc81b0e4445773cd71cee6 (patch)
tree4bf5c21328c20ab2a456f4810a1fdb075a864456 /gcc/varasm.c
parentcca0d0c61064a1ddbd575426b2861cafae13cb5a (diff)
downloadppe42-gcc-a368426e837ffbdcf6dc81b0e4445773cd71cee6.tar.gz
ppe42-gcc-a368426e837ffbdcf6dc81b0e4445773cd71cee6.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91515 138bc75d-0d04-0410-961f-82ee72b054a4
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 e58422d664d..e4fb1eee1b6 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. */
OpenPOWER on IntegriCloud