Mips: Fix the ASAN shadow offset hook for the n32 ABI

gcc/ChangeLog:

	* config/mips/mips.cc (mips_asan_shadow_offset): Reformat
	to handle the N32 ABI.
	* config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
	the macro, as it is not needed anymore.
This commit is contained in:
Dimitrije Milosevic 2022-07-07 01:58:20 +08:00 committed by Xi Ruoyao
parent ee915c72da
commit 7922f5ee64
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
2 changed files with 6 additions and 8 deletions

View File

@ -22743,7 +22743,12 @@ mips_constant_alignment (const_tree exp, HOST_WIDE_INT align)
static unsigned HOST_WIDE_INT
mips_asan_shadow_offset (void)
{
return SUBTARGET_SHADOW_OFFSET;
if (mips_abi == ABI_N32)
return (HOST_WIDE_INT_1 << 29);
if (POINTER_SIZE == 64)
return (HOST_WIDE_INT_1 << 37);
else
return HOST_WIDE_INT_C (0x0aaa0000);
}
/* Implement TARGET_STARTING_FRAME_OFFSET. See mips_compute_frame_info

View File

@ -3463,10 +3463,3 @@ struct GTY(()) machine_function {
&& !TARGET_MICROMIPS && !TARGET_FIX_24K)
#define NEED_INDICATE_EXEC_STACK 0
/* Define the shadow offset for asan. Other OS's can override in the
respective tm.h files. */
#ifndef SUBTARGET_SHADOW_OFFSET
#define SUBTARGET_SHADOW_OFFSET \
(POINTER_SIZE == 64 ? HOST_WIDE_INT_1 << 37 : HOST_WIDE_INT_C (0x0aaa0000))
#endif