summaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm.h
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-22 09:57:02 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-22 09:57:02 +0000
commitf41e4452d8ff9a97b75a3b71c581bdc12f27c3c7 (patch)
treec569dfb959139fe6dbc9e0be0b3faf1a129cf42a /gcc/config/arm/arm.h
parentc55c785fe9fbf6306e67e02ef3e4926c8dfa1d33 (diff)
downloadgcc-f41e4452d8ff9a97b75a3b71c581bdc12f27c3c7.tar.gz
* doc/invoke.texi (ARM Options): Document -mtls-dialect option.
* doc/install.texi (Configuration): Document --with-tls. * config.gcc (arm*-*-linux*): Default to gnu tls. (arm*-*-*): Add --with-tls option. (all_defaults): Add 'tls'. * config/arm/arm.c (enum tls_reloc): Add TLS_DESCSEQ. (arm_call_tls_get_addr): Clean up. Assert not tls descriptor. (arm_tls_descseq_addr): New. (legitimize_tls_address): Add tlsdesc support. (arm_cannot_copy_insn_p): Check for tlscall. (arm_emit_tls_decoration): Likewise. * config/arm/arm.h (TARGET_GNU2_TLS): New. (OPTION_DEFAULT_SPECS): Add with-tls support. * config/arm/arm.md (R1_REGNUM): Define. (tlscall): New. * config/arm/arm.opt (tls_type): New enumeration type and values. (mtls-dialect): New switch. * config/arm/arm-opts.h (enum tls_type): New. testsuite/ * gcc.target/arm/tlscall.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175287 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/arm.h')
-rw-r--r--gcc/config/arm/arm.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index c32ef1ad030..f030f418b8a 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -220,6 +220,7 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
#define TARGET_HARD_TP (target_thread_pointer == TP_CP15)
#define TARGET_SOFT_TP (target_thread_pointer == TP_SOFT)
+#define TARGET_GNU2_TLS (target_tls_dialect == TLS_GNU2)
/* Only 16-bit thumb code. */
#define TARGET_THUMB1 (TARGET_THUMB && !arm_arch_thumb2)
@@ -313,7 +314,8 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
by -march).
--with-float is ignored if -mfloat-abi is specified.
--with-fpu is ignored if -mfpu is specified.
- --with-abi is ignored is -mabi is specified. */
+ --with-abi is ignored if -mabi is specified.
+ --with-tls is ignored if -mtls-dialect is specified. */
#define OPTION_DEFAULT_SPECS \
{"arch", "%{!march=*:%{!mcpu=*:-march=%(VALUE)}}" }, \
{"cpu", "%{!march=*:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
@@ -321,7 +323,8 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
{"float", "%{!mfloat-abi=*:-mfloat-abi=%(VALUE)}" }, \
{"fpu", "%{!mfpu=*:-mfpu=%(VALUE)}"}, \
{"abi", "%{!mabi=*:-mabi=%(VALUE)}"}, \
- {"mode", "%{!marm:%{!mthumb:-m%(VALUE)}}"},
+ {"mode", "%{!marm:%{!mthumb:-m%(VALUE)}}"}, \
+ {"tls", "%{!mtls-dialect:-mtls-dialect=%(VALUE)}"},
/* Which floating point model to use. */
enum arm_fp_model