summaryrefslogtreecommitdiffstats
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c4
-rw-r--r--gcc/varasm.c4
3 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9185db16e2a..510cc389b4f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2004-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * 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.
+
2004-11-30 Zack Weinberg <zack@codesourcery.com>
* gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index ab80a47bdf2..285996838c1 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -17271,10 +17271,6 @@ rs6000_elf_in_small_data_p (tree decl)
if (TREE_CODE (decl) == FUNCTION_DECL)
return false;
- /* Thread-local vars can't go in the small data area. */
- if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL (decl))
- return false;
-
if (TREE_CODE (decl) == VAR_DECL && DECL_SECTION_NAME (decl))
{
const char *section = TREE_STRING_POINTER (DECL_SECTION_NAME (decl));
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