diff options
author | David Edelsohn <dje.gcc@gmail.com> | 2012-11-30 17:54:07 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2012-11-30 12:54:07 -0500 |
commit | b09cba37bf59305a973412fec5819bd79d56aaff (patch) | |
tree | 9c9453f0032dfcfc81effe58f4991ddd2a024313 /gcc/xcoffout.c | |
parent | 2730ada7a02e99f9a3088b74b1ff588255c40154 (diff) | |
download | gcc-b09cba37bf59305a973412fec5819bd79d56aaff.zip gcc-b09cba37bf59305a973412fec5819bd79d56aaff.tar.gz gcc-b09cba37bf59305a973412fec5819bd79d56aaff.tar.bz2 |
xcoffout.c (xcoff_tls_data_section_name): Define.
* xcoffout.c (xcoff_tls_data_section_name): Define.
* xcoffout.h (xcoff_tls_data_section_name): Declare.
* config/rs6000/rs6000.c (tls_data_section): Define.
(TARGET_USE_BLOCKS_FOR_DECL_P): Define.
(rs6000_legitimize_tls_address_aix): New function.
(rs6000_legitimize_tls_address): Use new function for AIX.
(rs6000_cannot_force_const_mem): No sum in TLS TOC symbols.
Allow TLS symbol in constant pool other than ELF.
(rs6000_legitimate_address_p): Allow TLS symbol other than ELF.
(rs6000_assemble_visibility): Do not emit anything on AIX.
(output_toc): Handle alias of TLS general-dynamic symbols.
Emit TLS decorations on symbols.
(rs6000_use_blocks_for_decl_p): New function.
(rs6000_xcoff_output_tls_section_asm_op): New function.
(rs6000_xcoff_asm_init_sections): Initialize tls_data_section.
(rs6000_xcoff_select_section): Choose tls_data_section for
thread-local storage.
(rs6000_xcoff_file_start): Generate xcoff_tls_data_section_name.
(rs6000_legitimate_constant_p): Allow TLS symbol other than ELF.
* config/rs6000/rs6000.md (tls_tls_): Restrict to ELF.
(tls_get_tpointer): New.
(tle_get_tpointer_internal): New.
(tls_get_addr<mode>): New.
(tls_get_addr_internal<mode>): New.
From-SVN: r194003
Diffstat (limited to 'gcc/xcoffout.c')
-rw-r--r-- | gcc/xcoffout.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c index 84b1436..457d34f 100644 --- a/gcc/xcoffout.c +++ b/gcc/xcoffout.c @@ -66,6 +66,7 @@ static const char *xcoff_current_function_file; char *xcoff_bss_section_name; char *xcoff_private_data_section_name; +char *xcoff_tls_data_section_name; char *xcoff_read_only_section_name; /* Last source file name mentioned in a NOTE insn. */ |