Module Name: src
Committed By: mrg
Date: Sun Jul 11 22:41:39 UTC 2021
Modified Files:
src/external/gpl3/gcc/dist/gcc/config/i386: i386.c i386.h netbsd-elf.h
netbsd64.h
Log Message:
define a X86_32_ASAN_BIT_OFFSET macro that defaults differently on
netbsd/i386 than other x86-32 targets.
fixes PR#56280.
To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/external/gpl3/gcc/dist/gcc/config/i386/i386.c
cvs rdiff -u -r1.14 -r1.15 src/external/gpl3/gcc/dist/gcc/config/i386/i386.h \
src/external/gpl3/gcc/dist/gcc/config/i386/netbsd-elf.h \
src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/gcc/config/i386/i386.c
diff -u src/external/gpl3/gcc/dist/gcc/config/i386/i386.c:1.24 src/external/gpl3/gcc/dist/gcc/config/i386/i386.c:1.25
--- src/external/gpl3/gcc/dist/gcc/config/i386/i386.c:1.24 Sun Apr 11 00:02:13 2021
+++ src/external/gpl3/gcc/dist/gcc/config/i386/i386.c Sun Jul 11 22:41:38 2021
@@ -1399,7 +1399,7 @@ ix86_asan_shadow_offset (void)
{
return TARGET_LP64 ? (TARGET_MACHO ? (HOST_WIDE_INT_1 << 44)
: HOST_WIDE_INT_C (0x7fff8000))
- : (HOST_WIDE_INT_1 << 29);
+ : (HOST_WIDE_INT_1 << X86_32_ASAN_BIT_OFFSET);
}
/* Argument support functions. */
Index: src/external/gpl3/gcc/dist/gcc/config/i386/i386.h
diff -u src/external/gpl3/gcc/dist/gcc/config/i386/i386.h:1.14 src/external/gpl3/gcc/dist/gcc/config/i386/i386.h:1.15
--- src/external/gpl3/gcc/dist/gcc/config/i386/i386.h:1.14 Sun Apr 11 00:02:14 2021
+++ src/external/gpl3/gcc/dist/gcc/config/i386/i386.h Sun Jul 11 22:41:39 2021
@@ -2975,6 +2975,9 @@ extern enum attr_cpu ix86_schedule;
#define NUM_X86_64_MS_CLOBBERED_REGS 12
#endif
+/* Standard location for 32-bit ASAN shadow map. */
+#define X86_32_ASAN_BIT_OFFSET 29
+
/*
Local variables:
version-control: t
Index: src/external/gpl3/gcc/dist/gcc/config/i386/netbsd-elf.h
diff -u src/external/gpl3/gcc/dist/gcc/config/i386/netbsd-elf.h:1.14 src/external/gpl3/gcc/dist/gcc/config/i386/netbsd-elf.h:1.15
--- src/external/gpl3/gcc/dist/gcc/config/i386/netbsd-elf.h:1.14 Sun Apr 11 00:02:14 2021
+++ src/external/gpl3/gcc/dist/gcc/config/i386/netbsd-elf.h Sun Jul 11 22:41:39 2021
@@ -129,3 +129,7 @@ along with GCC; see the file COPYING3.
/* Preserve i386 psABI */
#undef PREFERRED_STACK_BOUNDARY_DEFAULT
#define PREFERRED_STACK_BOUNDARY_DEFAULT MIN_STACK_BOUNDARY
+
+/* NetBSD/x86 on 32-bit places the ASAN shadow map at 0x40000000. */
+#undef X86_32_ASAN_BIT_OFFSET
+#define X86_32_ASAN_BIT_OFFSET 30
Index: src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h:1.14 src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h:1.15
--- src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h:1.14 Sun Apr 11 00:02:14 2021
+++ src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h Sun Jul 11 22:41:39 2021
@@ -73,3 +73,7 @@ along with GCC; see the file COPYING3.
((TARGET_64BIT || TARGET_SSE) ? 128 : 32)
#define HAVE_ENABLE_EXECUTE_STACK
+
+/* NetBSD/x86 on 32-bit places the ASAN shadow map at 0x40000000. */
+#undef X86_32_ASAN_BIT_OFFSET
+#define X86_32_ASAN_BIT_OFFSET 30