https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104426
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #3) > That's a consequence of -fsanitize=undefined turning on > -fno-delete-null-pointer-checks (it has to, otherwise -fsanitize=null > wouldn't work properly). > And -fno-delete-null-pointer-checks says that variables or functions can be > placed at NULL address. Note that's "historical" mostly, the correct way to check whether objects can be at NULL address is the corresponding address-space hook. Of course that leaves us with no way for the user to override what the target thinks (unless the target provides its own way to do that). IMHO we can simply take away this option from the user, it was a mistake to document it that way when it had this effect due to lack of a better way.