hpux.h (TARGET_HAVE_TLS): Define it to false.
authorMark Mitchell <mark@codesourcery.com>
Thu, 4 Dec 2003 05:46:16 +0000 (05:46 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Thu, 4 Dec 2003 05:46:16 +0000 (05:46 +0000)
* config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
* config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
HAVE_AS_TLS is true.
* config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.

From-SVN: r74272

gcc/ChangeLog
gcc/config/ia64/hpux.h
gcc/config/ia64/ia64.c
gcc/config/ia64/ia64.h

index 0c1f4638aefafc1b42dcd5ace6a12c54df67da51..98e7534aeb74856bc5dabb94b370967bfa8f815d 100644 (file)
@@ -1,3 +1,10 @@
+2003-12-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
+       * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
+       HAVE_AS_TLS is true.
+       * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
+
 2003-12-03  James E Wilson  <wilson@specifixinc.com>
 
        * gcc-page.c (extra_order_size_tab): Correct comment.
index 382751a7c37d04ee15f186bd7fa622d8a4c99a80..7ed5f605590e0c9b7b286b3435e044ec3340df72 100644 (file)
@@ -188,6 +188,10 @@ do {                                                               \
 #undef  TARGET_SECTION_TYPE_FLAGS
 #define TARGET_SECTION_TYPE_FLAGS  ia64_rwreloc_section_type_flags
 
+/* HP-UX does not support thread-local storage.  */
+#undef TARGET_HAVE_TLS
+#define TARGET_HAVE_TLS false
+
 /* ia64 HPUX has the float and long double forms of math functions.  */
 #undef TARGET_C99_FUNCTIONS
 #define TARGET_C99_FUNCTIONS  1
index 8023bbff945c7a1386925d495989274d96797007..42c20a03280aaea1e89e1cb216f015b033bba6b2 100644 (file)
@@ -344,11 +344,6 @@ static const struct attribute_spec ia64_attribute_table[] =
 #undef TARGET_SCHED_DFA_NEW_CYCLE
 #define TARGET_SCHED_DFA_NEW_CYCLE ia64_dfa_new_cycle
 
-#ifdef HAVE_AS_TLS
-#undef TARGET_HAVE_TLS
-#define TARGET_HAVE_TLS true
-#endif
-
 #undef TARGET_FUNCTION_OK_FOR_SIBCALL
 #define TARGET_FUNCTION_OK_FOR_SIBCALL ia64_function_ok_for_sibcall
 
index a1d0544b7f5b02121da2144efdf0a6ca80f58ed8..7a4353bcb4e7939eef355aa51639587ccb37a4ac 100644 (file)
@@ -140,6 +140,15 @@ extern int target_flags;
 
 #define TARGET_DWARF2_ASM      (target_flags & MASK_DWARF2_ASM)
 
+/* If the assembler supports thread-local storage, assume that the
+   system does as well.  If a particular target system has an
+   assembler that supports TLS -- but the rest of the system does not
+   support TLS -- that system should explicit define TARGET_HAVE_TLS
+   to false in its own configuration file.  */
+#if !defined(TARGET_HAVE_TLS) && defined(HAVE_AS_TLS)
+#define TARGET_HAVE_TLS true
+#endif
+
 extern int ia64_tls_size;
 #define TARGET_TLS14           (ia64_tls_size == 14)
 #define TARGET_TLS22           (ia64_tls_size == 22)