See this issue for more context:
https://github.com/google/sanitizers/issues/260
Instead of putting all global variable descriptions in one large
chunk, we emit one descriptor global for each original global. This
is more linker-gc friendly, as now individual globals can be
discarded along with their descriptors when unused.
The address of the descriptor section is obtained in the module
constructor and passed to the global registration function as an
argument. Similarly to MachO, we use a per-DSO registration flag. We
use the new SHT_ASSOCIATED section flag to link the global and its
descriptor together for linker GC.
@rnk Can you remind me why this is not an issue for COFF?