On Fri, Jan 31, 2025 at 6:31 PM Aleksandar Rakic <aleksandar.ra...@htecgroup.com> wrote: > > From: Faraz Shahbazker <fshahbaz...@wavecomp.com>
This should go to libsanitizer upstream. > libsanitizer: > * asan/asan_mapping.h (ASAN_SHADOW_OFFSET_CONST): Set correct > offset for n32 ABI. > > Cherry-picked 12ec4fc5c3a19e6304b58775db1820892942efbc > from https://github.com/MIPS/gcc > > Signed-off-by: Faraz Shahbazker <fshahbaz...@wavecomp.com> > Signed-off-by: Chao-ying Fu <c...@mips.com> > Signed-off-by: Aleksandar Rakic <aleksandar.ra...@htecgroup.com> > --- > libsanitizer/asan/asan_mapping.h | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/libsanitizer/asan/asan_mapping.h > b/libsanitizer/asan/asan_mapping.h > index 54890ca1789..7a6d94623b4 100644 > --- a/libsanitizer/asan/asan_mapping.h > +++ b/libsanitizer/asan/asan_mapping.h > @@ -65,6 +65,13 @@ > // || `[0x0aaa0000, 0x0bff3fff]` || LowShadow || > // || `[0x00000000, 0x0aa9ffff]` || LowMem || > // > +// Default Linux/MIPS64 n32 ABI mapping: > +// || `[0x40000000, 0xffffffff]` || HighMem || > +// || `[0x28000000, 0x3fffffff]` || HighShadow || > +// || `[0x24000000, 0x27ffffff]` || ShadowGap || > +// || `[0x20000000, 0x23ffffff]` || LowShadow || > +// || `[0x00000000, 0x1fffffff]` || LowMem || > +// > // Default Linux/MIPS64 mapping: > // || `[0x4000000000, 0xffffffffff]` || HighMem || > // || `[0x2800000000, 0x3fffffffff]` || HighShadow || > @@ -169,7 +176,11 @@ > # if SANITIZER_ANDROID > # define ASAN_SHADOW_OFFSET_DYNAMIC > # elif defined(__mips__) > -# define ASAN_SHADOW_OFFSET_CONST 0x0aaa0000 > +# if _MIPS_SIM == _ABIN32 > +# define ASAN_SHADOW_OFFSET_CONST 0x20000000 > +# else > +# define ASAN_SHADOW_OFFSET_CONST 0x0aaa0000 > +# endif > # elif SANITIZER_FREEBSD > # define ASAN_SHADOW_OFFSET_CONST 0x40000000 > # elif SANITIZER_NETBSD > -- > 2.34.1