PGI 18.10 LLVM: "Warning: stand-alone `data16' prefix&q


when compiling the following reproducer:

_Thread_local volatile int mytls;


I get the mentioned warning:

$ pgcc --version

pgcc 18.10-1 LLVM 64-bit target on x86-64 Linux -tp haswell 
PGI Compilers and Tools
Copyright (c) 2018, NVIDIA CORPORATION.  All rights reserved.
$ pgcc -c11 -fpic -c test-tls.c
/tmp/pgcc8erf076zd0ol.s: Assembler messages:
/tmp/pgcc8erf076zd0ol.s:16: Warning: stand-alone `data16' prefix
/tmp/pgcc8erf076zd0ol.s:18: Warning: stand-alone `data16' prefix
/tmp/pgcc8erf076zd0ol.s:19: Warning: stand-alone `data16' prefix

Is this something I should be worried about?

BTW, PGI does not honor the “tls_model” attribute to TLS variables, though it accepts it. The generated code is always the same, in particular the “initial-exec” model is not supported, which greatly speeds-up access to these variables.

Hi Bert,

I don’t think it is anything to worry about. But, you’re right about the lacking tls_mode attribute support on our end. The code generated is the same regardless of the attribute set and we also seem to be missing the DF_STATIC_TLS flag in the DT_FLAGS section. I’ve added TPR#26867 to address this.