aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorClément Chigot <clement.chigot@atos.net>2021-08-12 13:17:15 -0400
committerDavid Edelsohn <dje.gcc@gmail.com>2021-08-15 13:26:27 -0400
commit34ce7f7a9a64dd69dd6a77dfd4a77406c3c71014 (patch)
tree693b86639899af4c92e6b5c28062f734a47e23a8 /gcc/fortran/resolve.c
parent882f1d58bfa56737ff2de84c3cd1e0acfc318b86 (diff)
downloadgcc-34ce7f7a9a64dd69dd6a77dfd4a77406c3c71014.zip
gcc-34ce7f7a9a64dd69dd6a77dfd4a77406c3c71014.tar.gz
gcc-34ce7f7a9a64dd69dd6a77dfd4a77406c3c71014.tar.bz2
aix: 64 bit AIX TLS libpthread dependency.
64bit XCOFF files will generated TLS access, with local-exec or global-exec models, by an access to R13. Thus, there isn't any reference to a TLS symbol. The problem is that it allows programs with TLS to be compiled and linked even without -pthread. Most of the time, it will result in a segfault when trying to access a TLS variable. But sometimes, it might create a memory corruption. This patch forces a reference to __tls_get_addr() to ensure link will fail without -pthread. gcc/ChangeLog: 2021-08-11 Clément Chigot <clement.chigot@atos.net> * config/rs6000/rs6000.c (xcoff_tls_exec_model_detected): New. (rs6000_legitimize_tls_address_aix): Use it. (rs6000_xcoff_file_end): Add ".ref __tls_get_addr" when xcoff_tls_exec_model_detected is true.
Diffstat (limited to 'gcc/fortran/resolve.c')
0 files changed, 0 insertions, 0 deletions