diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-22 09:57:02 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-22 09:57:02 +0000 |
commit | f41e4452d8ff9a97b75a3b71c581bdc12f27c3c7 (patch) | |
tree | c569dfb959139fe6dbc9e0be0b3faf1a129cf42a /gcc/doc/invoke.texi | |
parent | c55c785fe9fbf6306e67e02ef3e4926c8dfa1d33 (diff) | |
download | gcc-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.texi | 14 |
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). |