aix: ensure reference to __tls_get_addr is in text section.
The garbage collector of AIX linker might remove the reference to __tls_get_addr if it's added inside an unused csect, which can be the case of .data with very simple programs. gcc/ChangeLog: 2021-10-19 Clément Chigot <clement.chigot@atos.net> * config/rs6000/rs6000.c (rs6000_xcoff_file_end): Move __tls_get_addr reference to .text csect.
This commit is contained in:
parent
6b34f5c5ec
commit
e3ef92e79f
@ -21626,17 +21626,17 @@ static void
|
||||
rs6000_xcoff_file_end (void)
|
||||
{
|
||||
switch_to_section (text_section);
|
||||
if (xcoff_tls_exec_model_detected)
|
||||
{
|
||||
/* Add a .ref to __tls_get_addr to force libpthread dependency. */
|
||||
fputs ("\t.extern __tls_get_addr\n\t.ref __tls_get_addr\n", asm_out_file);
|
||||
}
|
||||
fputs ("_section_.text:\n", asm_out_file);
|
||||
switch_to_section (data_section);
|
||||
fputs (TARGET_32BIT
|
||||
? "\t.long _section_.text\n" : "\t.llong _section_.text\n",
|
||||
asm_out_file);
|
||||
|
||||
if (xcoff_tls_exec_model_detected)
|
||||
{
|
||||
/* Add a .ref to __tls_get_addr to force libpthread dependency. */
|
||||
fputs ("\t.extern __tls_get_addr\n\t.ref __tls_get_addr\n", asm_out_file);
|
||||
}
|
||||
}
|
||||
|
||||
struct declare_alias_data
|
||||
|
Loading…
x
Reference in New Issue
Block a user