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

Reply via email to