summaryrefslogtreecommitdiff
path: root/gcc/doc/invoke.texi
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/doc/invoke.texi
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/doc/invoke.texi')
-rw-r--r--gcc/doc/invoke.texi14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e747f1d7841..d397d607f1c 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -477,7 +477,7 @@ Objective-C and Objective-C++ Dialects}.
-mthumb -marm @gol
-mtpcs-frame -mtpcs-leaf-frame @gol
-mcaller-super-interworking -mcallee-super-interworking @gol
--mtp=@var{name} @gol
+-mtp=@var{name} -mtls-dialect=@var{dialect} @gol
-mword-relocations @gol
-mfix-cortex-m3-ldrd}
@@ -10471,6 +10471,18 @@ models are @option{soft}, which generates calls to @code{__aeabi_read_tp},
best available method for the selected processor. The default setting is
@option{auto}.
+@item -mtls-dialect=@var{dialect}
+@opindex mtls-dialect
+Specify the dialect to use for accessing thread local storage. Two
+dialects are supported --- @option{gnu} and @option{gnu2}. The
+@option{gnu} dialect selects the original GNU scheme for supporting
+local and global dynamic TLS models. The @option{gnu2} dialect
+selects the GNU descriptor scheme, which provides better performance
+for shared libraries. The GNU descriptor scheme is compatible with
+the original scheme, but does require new assembler, linker and
+library support. Initial and local exec TLS models are unaffected by
+this option and always use the original scheme.
+
@item -mword-relocations
@opindex mword-relocations
Only generate absolute relocations on word sized values (i.e. R_ARM_ABS32).