diff options
author | Alan Modra <amodra@bigpond.net.au> | 2004-11-30 09:49:03 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2004-11-30 20:19:03 +1030 |
commit | 0050e8620a98776c3508acd826c328e7c5023fd3 (patch) | |
tree | 4bf5c21328c20ab2a456f4810a1fdb075a864456 /gcc | |
parent | 7370bebd3f4bf1725a73073c027ba13afc127f40 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 4 | ||||
-rw-r--r-- | gcc/varasm.c | 4 |
3 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9185db1..510cc38 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 ab80a47..285996838 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 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. */ |