diff options
author | Mark Mitchell <mark@codesourcery.com> | 2003-12-04 05:46:16 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2003-12-04 05:46:16 +0000 |
commit | c743369c899792f072e01e8236ddca8819c310ac (patch) | |
tree | 4e09f9f4326815404007405bab52484bd1066f44 | |
parent | 60c1d0d8ba15e24a586b8a3c2f6997cdd21a3e4d (diff) | |
download | gcc-c743369c899792f072e01e8236ddca8819c310ac.zip gcc-c743369c899792f072e01e8236ddca8819c310ac.tar.gz gcc-c743369c899792f072e01e8236ddca8819c310ac.tar.bz2 |
hpux.h (TARGET_HAVE_TLS): Define it to false.
* 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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/ia64/hpux.h | 4 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 5 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.h | 9 |
4 files changed, 20 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0c1f463..98e7534 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h index 382751a..7ed5f60 100644 --- a/gcc/config/ia64/hpux.h +++ b/gcc/config/ia64/hpux.h @@ -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 diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 8023bbf..42c20a0 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -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 diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index a1d0544..7a4353b 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -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) |