aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Korn <dave.korn.cygwin@gmail.com>2009-09-22 01:33:53 +0000
committerDave Korn <davek@gcc.gnu.org>2009-09-22 01:33:53 +0000
commite0fd74691d8281cf68bfeedcf528d4a773b5ce04 (patch)
tree98978b679f84438e0b7ead378859b28fd14c2619
parentcf09842e67b2f51f8febe74bf55b47d5e49da98c (diff)
downloadgcc-e0fd74691d8281cf68bfeedcf528d4a773b5ce04.zip
gcc-e0fd74691d8281cf68bfeedcf528d4a773b5ce04.tar.gz
gcc-e0fd74691d8281cf68bfeedcf528d4a773b5ce04.tar.bz2
re PR middle-end/41357 (libgomp build fail)
PR middle-end/41357 * varasm.c (default_encode_section_info): Copy TLS model into sym_ref flags regardless of backend support for TLS, for all model types except TLS_MODEL_EMULATED. From-SVN: r151959
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/varasm.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 39f3489..4d72c8b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2009-09-22 Dave Korn <dave.korn.cygwin@gmail.com>
+ PR middle-end/41357
+ * varasm.c (default_encode_section_info): Copy TLS model into
+ sym_ref flags regardless of backend support for TLS, for all
+ model types except TLS_MODEL_EMULATED.
+
+2009-09-22 Dave Korn <dave.korn.cygwin@gmail.com>
+
PR bootstrap/41404
* dwarf2out.c (mem_loc_descriptor): Punt on CONST_STRING until
we can handle it correctly.
diff --git a/gcc/varasm.c b/gcc/varasm.c
index f8cc291..8a61fd2 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -6417,8 +6417,8 @@ 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.have_tls && TREE_CODE (decl) == VAR_DECL
- && DECL_THREAD_LOCAL_P (decl))
+ if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL_P (decl)
+ && DECL_TLS_MODEL (decl) != TLS_MODEL_EMULATED)
flags |= DECL_TLS_MODEL (decl) << SYMBOL_FLAG_TLS_SHIFT;
else if (targetm.in_small_data_p (decl))
flags |= SYMBOL_FLAG_SMALL;