Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gcc/dist/libsanitizer fix a bunch of merge bot...



details:   https://anonhg.NetBSD.org/src/rev/d9c5ac4cf6c8
branches:  trunk
changeset: 448363:d9c5ac4cf6c8
user:      mrg <mrg%NetBSD.org@localhost>
date:      Thu Jan 31 08:44:14 2019 +0000

description:
fix a bunch of merge botches.  libasan now builds.

diffstat:

 external/gpl3/gcc/dist/libsanitizer/asan/asan_interceptors.cc                                |   1 +
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_internal_defs.h               |   7 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc                      |   2 +
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc              |   4 -
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h       |   1 +
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc      |   7 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc |  31 +++++----
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_syscall_generic.inc           |   1 +
 external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_platform.h                                   |   2 +-
 9 files changed, 32 insertions(+), 24 deletions(-)

diffs (210 lines):

diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/asan/asan_interceptors.cc
--- a/external/gpl3/gcc/dist/libsanitizer/asan/asan_interceptors.cc     Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/asan/asan_interceptors.cc     Thu Jan 31 08:44:14 2019 +0000
@@ -699,6 +699,7 @@
 #endif
 
 #if ASAN_INTERCEPT___CXA_ATEXIT
+#if !SANITIZER_NETBSD
 static void AtCxaAtexit(void *unused) {
   (void)unused;
   StopInitOrderChecking();
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_internal_defs.h
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_internal_defs.h    Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_internal_defs.h    Thu Jan 31 08:44:14 2019 +0000
@@ -50,6 +50,11 @@
 # define __has_feature(x) 0
 #endif
 
+// Outside of namespace below as we need <sys/types.h>
+#if SANITIZER_NETBSD
+#include <sys/types.h>
+#endif
+
 // For portability reasons we do not include stddef.h, stdint.h or any other
 // system header, but we do need some basic types that are not defined
 // in a portable way by the language itself.
@@ -102,7 +107,6 @@
 typedef u64  OFF64_T;
 
 #if SANITIZER_NETBSD
-#include <sys/types.h>
 typedef size_t operator_new_size_type;
 #else
 #if (SANITIZER_WORDSIZE == 64) || SANITIZER_MAC
@@ -116,7 +120,6 @@
 # endif
 #endif
 #endif
-}  // namespace __sanitizer
 
 
 // ----------- ATTENTION -------------
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc   Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc   Thu Jan 31 08:44:14 2019 +0000
@@ -1370,6 +1370,8 @@
   static const uptr PF_WRITE = 1U << 1;
 #if SANITIZER_FREEBSD
   uptr err = ucontext->uc_mcontext.mc_err;
+#elif SANITIZER_NETBSD
+  uptr err = ucontext->uc_mcontext.__gregs[_REG_ERR];
 #else
   uptr err = ucontext->uc_mcontext.gregs[REG_ERR];
 #endif
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc   Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc   Thu Jan 31 08:44:14 2019 +0000
@@ -159,9 +159,7 @@
 
 #if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_ANDROID && !SANITIZER_GO
 static uptr g_tls_size;
-#endif
 
-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_ANDROID && !SANITIZER_GO
 #if defined(__mips__) || defined(__powerpc64__)
 // TlsPreTcbSize includes size of struct pthread_descr and size of tcb
 // head structure. It lies before the static tls blocks.
@@ -179,7 +177,6 @@
   return kTlsPreTcbSize;
 }
 #endif
-#endif // !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_ANDROID && !SANITIZER_GO
 
 void InitTlsSize() {
 // all current supported platforms have 16 bytes stack alignment
@@ -214,7 +211,6 @@
   if (tls_align < kStackAlign)
     tls_align = kStackAlign;
   g_tls_size = RoundUpTo(tls_size, tls_align);
-#endif  // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_NETBSD && !SANITIZER_GO
 }
 #else
 void InitTlsSize() { }
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h    Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h    Thu Jan 31 08:44:14 2019 +0000
@@ -300,6 +300,7 @@
 #ifndef SANITIZER_INTERCEPT_DLOPEN_DLCLOSE
 #define SANITIZER_INTERCEPT_DLOPEN_DLCLOSE \
     SI_FREEBSD || SI_LINUX_NOT_ANDROID || SI_MAC || SI_NETBSD
+#endif
 
 #define SANITIZER_INTERCEPT_GETPASS SI_LINUX_NOT_ANDROID || SI_MAC
 #define SANITIZER_INTERCEPT_TIMERFD SI_LINUX_NOT_ANDROID
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc   Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc   Thu Jan 31 08:44:14 2019 +0000
@@ -138,10 +138,9 @@
 # endif
 # ifdef __arm__
 typedef struct user_fpregs elf_fpregset_t;
-#   define ARM_VFPREGS_SIZE_ASAN (32 * 8 /*fpregs*/ + 4 /*fpscr*/)
-#   if !defined(ARM_VFPREGS_SIZE)
-#     define ARM_VFPREGS_SIZE ARM_VFPREGS_SIZE_ASAN
-#   endif
+#  define ARM_VFPREGS_SIZE_ASAN (32 * 8 /*fpregs*/ + 4 /*fpscr*/)
+#  if !defined(ARM_VFPREGS_SIZE)
+#   define ARM_VFPREGS_SIZE ARM_VFPREGS_SIZE_ASAN
 #  endif
 # endif
 #endif
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc      Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc      Thu Jan 31 08:44:14 2019 +0000
@@ -40,12 +40,7 @@
 // GLIBC 2.20+ sys/user does not include asm/ptrace.h
 #  include <asm/ptrace.h>
 # endif
-# if !SANITIZER_NETBSD
-#  include <sys/user.h>  // for user_regs_struct
-#  if SANITIZER_ANDROID && SANITIZER_MIPS
-#    include <asm/reg.h>  // for mips SP register in sys/user.h
-#  endif
-# else
+# if SANITIZER_NETBSD
 #  define PTRACE_ATTACH PT_ATTACH
 #  define PTRACE_GETREGS PT_GETREGS
 #  define PTRACE_KILL PT_KILL
@@ -55,6 +50,11 @@
 #  include <machine/reg.h>
 typedef struct reg user_regs;
 typedef struct reg user_regs_struct;
+# else
+#  include <sys/user.h>  // for user_regs_struct
+#  if SANITIZER_ANDROID && SANITIZER_MIPS
+#   include <asm/reg.h>  // for mips SP register in sys/user.h
+#  endif
 # endif
 #endif
 #include <sys/wait.h> // for signal-related stuff
@@ -476,34 +476,39 @@
 typedef pt_regs regs_struct;
 #  define PTRACE_REG_SP(r) (r)->ARM_sp
 # endif
+
 #elif SANITIZER_LINUX
 # if defined(__arm__)
 typedef user_regs regs_struct;
 #  define PTRACE_REG_SP(r) (r)->uregs[13]
+
 # elif defined(__i386__)
 typedef user_regs_struct regs_struct;
 #  define PTRACE_REG_SP(r) (r)->esp
+
 # elif defined(__x86_64__)
 typedef user_regs_struct regs_struct;
 #  define PTRACE_REG_SP(r) (r)->rsp
+
 # elif defined(__powerpc__) || defined(__powerpc64__)
 typedef pt_regs regs_struct;
 #  define PTRACE_REG_SP(r) (r)->gpr[PT_R1]
 # elif defined(__mips__)
+
 typedef struct user regs_struct;
-# if SANITIZER_ANDROID
-#  define REG_SP regs[EF_R29]
-# else
-#  define REG_SP regs[EF_REG29]
-# endif
-#elif defined(__aarch64__)
+#  if SANITIZER_ANDROID
+#   define REG_SP regs[EF_R29]
+#  else
+#   define REG_SP regs[EF_REG29]
+#  endif
+# elif defined(__aarch64__)
+
 typedef struct user_pt_regs regs_struct;
 #  define PTRACE_REG_SP(r) (r)->sp
 #  define ARCH_IOVEC_FOR_GETREGSET
 # endif
 #elif SANITIZER_NETBSD 
 typedef reg regs_struct;
-#endif
 
 #elif defined(__s390__)
 typedef _user_regs_struct regs_struct;
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_syscall_generic.inc
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_syscall_generic.inc        Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_syscall_generic.inc        Thu Jan 31 08:44:14 2019 +0000
@@ -18,6 +18,7 @@
 # define SYS_getdents SYS___getdents30
 # define SYS_sigaltstack SYS___sigaltstack14
 # define SYS_sigprocmask SYS___sigprocmask14
+# define SYS_nanosleep SYS___nanosleep50
 #endif
 #if SANITIZER_FREEBSD || SANITIZER_NETBSD || SANITIZER_MAC
 # define SYSCALL(name) SYS_ ## name
diff -r b32589e5afb8 -r d9c5ac4cf6c8 external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_platform.h
--- a/external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_platform.h        Thu Jan 31 08:42:03 2019 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_platform.h        Thu Jan 31 08:44:14 2019 +0000
@@ -20,7 +20,7 @@
      defined(__powerpc__) || defined(__hppa__) || defined(__m68k__) || \
      defined(__mc68010__) || defined(__powerpc64__) || defined(__sparc__) || \
      defined(__alpha__) || defined(__vax__) || defined(__sh3__) || \
-     defined(__ia64__)) || \
+     defined(__ia64__) || \
      defined(__s390__))
 # define CAN_SANITIZE_UB 1
 #elif defined(_WIN32)



Home | Main Index | Thread Index | Old Index