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:
parent
ee915c72da
commit
7922f5ee64
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user