https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80953
--- Comment #35 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > Right: 64-bit Solaris/SPARC uses the full 64-bit address space: > > https://docs.oracle.com/cd/E37838_01/html/E66175/advanced-2. > html#SSFDGadvanced-5 > > The gap between the low and high parts cannot be determined > programmatically right now and varies between different sparc machines. Linux uses an equivalent VM layout (although the primary stack is in the low part instead of the high part). I think that on Linux the hole is fully determined by the number of bits available for virtual addresses. > Even if that could be fixed (there's been talk about adding an interface > to determine that information at runtime), the current shadow address > calculation cannot cope with such a discontinuous address space. Right, but you can tweak it once the position of the hole is determined. I have done so for a 52-bit VM layout (T4 and later apparently) and, modulo fixes all over the place (libsanitizer, libbacktrace, compiler, testsuite), I now have a 100% clean ASAN testsuite on both 32-bit and 64-bit SPARC/Linux. Trying on Solaris now...