ICF prevented by removing unnamed_addr and local_unnamed_addr for all sanitized
globals. Also in general unnamed_addr is not valid here as address now is important for
ODR violation detector and redzone poisoning.
ICF on globals causes:
- false ODR reports when we register global on the same address more than once
- globals buffer overflow if we fold variables of smaller type inside of large
type. Then the smaller one will poison redzone which overlaps with the larger one.
Both can be avoided with private aliases and ODR-indicators, however they
increase size more than just disabling ICF on sanitized globals.
The comment should say that asan's ODR violation detector and redzone poisoning implicitly creates a dependence on the global's address, so it is no longer valid for it to be marked unnamed_addr.