diff options
author | Bob Wilson <bob.wilson@acm.org> | 2008-09-19 00:18:42 +0000 |
---|---|---|
committer | Bob Wilson <bwilson@gcc.gnu.org> | 2008-09-19 00:18:42 +0000 |
commit | 6a7a462cbfe97638fcfe74a8c5e4b847d71f6e9d (patch) | |
tree | a196eef4130a81ffbab10ca6a0aa591ab52731ad /gcc/configure.ac | |
parent | 342f11d55aa131b7ad21e20eb3b6f2b421cdffa9 (diff) | |
download | gcc-6a7a462cbfe97638fcfe74a8c5e4b847d71f6e9d.zip gcc-6a7a462cbfe97638fcfe74a8c5e4b847d71f6e9d.tar.gz gcc-6a7a462cbfe97638fcfe74a8c5e4b847d71f6e9d.tar.bz2 |
configure.ac: Add HAVE_AS_TLS check for Xtensa.
* configure.ac: Add HAVE_AS_TLS check for Xtensa.
* config/xtensa/predicates.md (tls_symbol_operand): New.
* config/xtensa/xtensa.c (TARGET_HAVE_TLS): Define.
(TARGET_CANNOT_FORCE_MEM): Define.
(xtensa_tls_symbol_p): New.
(xtensa_emit_move_sequence): Check for and legitimize TLS addresses.
(xtensa_legitimate_address_p): Disallow constant pool TLS references.
(xtensa_tls_module_base): New.
(xtensa_call_tls_desc): New.
(xtensa_legitimize_tls_address): New.
(xtensa_legitimize_address): Handle TLS symbols.
(xtensa_tls_referenced_p_1): New.
(xtensa_tls_referenced_p): New.
(xtensa_output_addr_const_extra): Handle UNSPEC_TPOFF and UNSPEC_DTPOFF.
(XTENSA_BUILTIN_THREAD_POINTER): New.
(XTENSA_BUILTIN_SET_THREAD_POINTER): New.
(xtensa_init_builtins): Set NOTHROW and READONLY for umulsidi3 builtin.
Add declarations for __builtin_thread_pointer and
__builtin_set_thread_pointer.
(xtensa_fold_builtin): Recognize new builtins.
(xtensa_expand_builtin): Expand new builtins.
* config/xtensa/xtensa.h (XCHAL_HAVE_THREADPTR): Define default value.
(TARGET_THREADPTR): Define.
(HAVE_AS_TLS): Define default value.
(LEGITIMATE_CONSTANT_P): Disallow TLS references.
* config/xtensa/xtensa.md (UNSPEC_TPOFF, UNSPEC_DTPOFF): New.
(UNSPEC_TLS_FUNC, UNSPEC_TLS_ARG, UNSPEC_TLS_CALL, UNSPEC_TP): New.
(UNSPECV_SET_TP): New.
(sym_TPOFF, sym_DTPOFF): New.
(load_tp, set_tp, tls_func, tls_arg, tls_call): New.
* config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare.
* configure: Regenerated.
From-SVN: r140482
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r-- | gcc/configure.ac | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac index e81b203..b6bc311 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2322,7 +2322,7 @@ AC_DEFINE_UNQUOTED(HAVE_COMDAT_GROUP, [`if test $gcc_cv_as_comdat_group = yes || test $gcc_cv_as_comdat_group_percent = yes; then echo 1; else echo 0; fi`], [Define 0/1 if your assembler and linker support COMDAT groups.]) -# Thread-local storage - the check is heavily parametrized. +# Thread-local storage - the check is heavily parameterized. conftest_s= tls_first_major= tls_first_minor= @@ -2655,6 +2655,17 @@ foo: .long 25 tls_as_opt="-32 --fatal-warnings" fi ;; + xtensa*-*-*) + conftest_s=' + .section ".tdata","awT",@progbits +foo: .long 25 + .text + movi a8, foo@TLSFUNC + movi a10, foo@TLSARG + callx8.tls a8, foo@TLSCALL' + tls_first_major=2 + tls_first_minor=19 + ;; changequote([,])dnl esac set_have_as_tls=no |