asan: adjust module name for global variables
authorMartin Liska <mliska@suse.cz>
Fri, 17 Feb 2023 14:11:02 +0000 (15:11 +0100)
committerMartin Liska <mliska@suse.cz>
Fri, 24 Feb 2023 15:23:15 +0000 (16:23 +0100)
commit94c9b1bb79f63d000ebb05efc155c149325e332d
treecf5f9112f107f340e88b528490e6e05ca320addf
parent3d1d3ece9bc5a1baa2feb4bf231b709c097b8434
asan: adjust module name for global variables

As mentioned in the PR, when we use LTO, we wrongly use ltrans output
file name as a module name of a global variable. That leads to a
non-reproducible output.

After the suggested change, we emit context name of normal global
variables. And for artificial variables (like .Lubsan_data3), we use
aux_base_name (e.g. "./a.ltrans0.ltrans").

PR sanitizer/108834

gcc/ChangeLog:

* asan.cc (asan_add_global): Use proper TU name for normal
global variables (and aux_base_name for the artificial one).

gcc/testsuite/ChangeLog:

* c-c++-common/asan/global-overflow-1.c: Test line and column
info for a global variable.
gcc/asan.cc
gcc/testsuite/c-c++-common/asan/global-overflow-1.c