summaryrefslogtreecommitdiffstats
path: root/gcc/configure
diff options
context:
space:
mode:
authorbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-19 00:18:42 +0000
committerbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-19 00:18:42 +0000
commitc656b8fda2b22fa00e7aacf132702ddef2a140f3 (patch)
treea196eef4130a81ffbab10ca6a0aa591ab52731ad /gcc/configure
parentcc04a47dd74aa6268875f088eb29da97d45e6322 (diff)
downloadppe42-gcc-c656b8fda2b22fa00e7aacf132702ddef2a140f3.tar.gz
ppe42-gcc-c656b8fda2b22fa00e7aacf132702ddef2a140f3.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140482 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure')
-rwxr-xr-xgcc/configure13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/configure b/gcc/configure
index e6535fb85f6..0dbf86acfe4 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -21194,7 +21194,7 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
-# Thread-local storage - the check is heavily parametrized.
+# Thread-local storage - the check is heavily parameterized.
conftest_s=
tls_first_major=
tls_first_minor=
@@ -21526,6 +21526,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
+ ;;
esac
set_have_as_tls=no
if test "x$enable_tls" = xno ; then
OpenPOWER on IntegriCloud