aix: Use lcomm for TLS static data.
commit26ed5a28b18ad080e51e6b61f5f60d67b66fd5f3
authorDavid Edelsohn <dje.gcc@gmail.com>
Thu, 11 Mar 2021 16:41:24 +0000 (11 11:41 -0500)
committerDavid Edelsohn <dje.gcc@gmail.com>
Thu, 11 Mar 2021 21:57:24 +0000 (11 16:57 -0500)
treeab6a6446ec82563c42ec69cad070a80e2e4638db
parent5f27a9f90d4eadadf937f1a5d0bfccf39261f330
aix: Use lcomm for TLS static data.

GCC on AIX generates thread local uninitialized data in the common section,
which could conflict with another module.

This patch changes the code generation to place static uninitialized
thread local data into the local common section specified with .lcomm.
This change also removes the need to create a file-local name for the TBSS
data.

gcc/ChangeLog:

2021-03-11  David Edelsohn  <dje.gcc@gmail.com>

PR target/99094
* config/rs6000/rs6000.c (rs6000_xcoff_file_start): Don't create
xcoff_tbss_section_name.
* config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Use .lcomm.
* xcoffout.c (xcoff_tbss_section_name): Delete.
* xcoffout.h (xcoff_tbss_section_name): Delete.
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/xcoff.h
gcc/xcoffout.c
gcc/xcoffout.h