pkgsrc-WIP-changes archive

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

compiler-rt-netbsd: Sync patches with my local copy



Module Name:	pkgsrc-wip
Committed By:	Kamil Rytarowski <n54%gmx.com@localhost>
Pushed By:	kamil
Date:		Mon Jan 15 07:16:22 2018 +0100
Changeset:	d7786445325afa45526808ae2d3edd8e37e9738e

Modified Files:
	compiler-rt-netbsd/Makefile
	compiler-rt-netbsd/distinfo
	compiler-rt-netbsd/patches/patch-cmake_config-ix.cmake
	compiler-rt-netbsd/patches/patch-include_sanitizer_netbsd__syscall__hooks.h
	compiler-rt-netbsd/patches/patch-lib_fuzzer_tests_CMakeLists.txt
	compiler-rt-netbsd/patches/patch-lib_hwasan_hwasan__interceptors.cc
	compiler-rt-netbsd/patches/patch-lib_msan_msan__interceptors.cc
	compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__common__interceptors.inc
	compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__internal__defs.h
	compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__interceptors__ioctl.inc
	compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__syscalls.inc
	compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__interceptors.h
	compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.cc
	compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.h
	compiler-rt-netbsd/patches/patch-utils_generate__netbsd__ioctls.awk
	compiler-rt-netbsd/patches/patch-utils_generate__netbsd__syscalls.awk

Log Message:
compiler-rt-netbsd: Sync patches with my local copy

This fixes few interceptors: tzset, localtime, libkvm, etc.

Sponsored by <The NetBSD Foundation>

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=d7786445325afa45526808ae2d3edd8e37e9738e

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 compiler-rt-netbsd/Makefile                        |   2 +-
 compiler-rt-netbsd/distinfo                        |  28 +--
 .../patches/patch-cmake_config-ix.cmake            |   2 +-
 ...atch-include_sanitizer_netbsd__syscall__hooks.h |   2 +-
 .../patches/patch-lib_fuzzer_tests_CMakeLists.txt  |   4 +-
 .../patch-lib_hwasan_hwasan__interceptors.cc       |   4 +-
 .../patches/patch-lib_msan_msan__interceptors.cc   |  56 ++++-
 ...zer__common_sanitizer__common__interceptors.inc | 247 ++++++++++++++++++++-
 ...b_sanitizer__common_sanitizer__internal__defs.h |   2 +-
 ...mmon_sanitizer__netbsd__interceptors__ioctl.inc |   2 +-
 ...nitizer__common_sanitizer__netbsd__syscalls.inc |   2 +-
 ...zer__common_sanitizer__platform__interceptors.h |   7 +-
 ...__common_sanitizer__platform__limits__netbsd.cc |  14 +-
 ...r__common_sanitizer__platform__limits__netbsd.h |  49 ++--
 .../patch-utils_generate__netbsd__ioctls.awk       |   2 +-
 .../patch-utils_generate__netbsd__syscalls.awk     |   2 +-
 16 files changed, 351 insertions(+), 74 deletions(-)

diffs:
diff --git a/compiler-rt-netbsd/Makefile b/compiler-rt-netbsd/Makefile
index 126e31c34c..4c9e938bc0 100644
--- a/compiler-rt-netbsd/Makefile
+++ b/compiler-rt-netbsd/Makefile
@@ -5,7 +5,7 @@ CATEGORIES=	lang devel
 
 SVN_REPOSITORIES=	compiler-rt
 SVN_REPO.compiler-rt=	http://llvm.org/svn/llvm-project/compiler-rt/trunk
-SVN_REVISION.compiler-rt=	321993
+SVN_REVISION.compiler-rt=	322469
 
 MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=	http://compiler-rt.llvm.org/
diff --git a/compiler-rt-netbsd/distinfo b/compiler-rt-netbsd/distinfo
index 2f3152b25d..98df95f50a 100644
--- a/compiler-rt-netbsd/distinfo
+++ b/compiler-rt-netbsd/distinfo
@@ -1,29 +1,29 @@
 $NetBSD: distinfo,v 1.35 2015/09/11 01:21:57 tnn Exp $
 
-SHA1 (patch-cmake_config-ix.cmake) = dfc7a195cb774cc13cb495387781d600e16c82d9
+SHA1 (patch-cmake_config-ix.cmake) = 37f794de11df3290d215bacc1a4bc6d99bd7c328
 SHA1 (patch-include_CMakeLists.txt) = b6f2713b7e5337aed542442936b6f747efe0a607
-SHA1 (patch-include_sanitizer_netbsd__syscall__hooks.h) = 5e6e682b969a58a08699abb34ab8bd557e82f515
+SHA1 (patch-include_sanitizer_netbsd__syscall__hooks.h) = 880885798c3ebe83962b96c0999367fd6ba938e1
 SHA1 (patch-lib_asan_asan__interceptors.cc) = ea4005ce02775060ff52af76d568c450892067b5
 SHA1 (patch-lib_esan_esan__interceptors.cpp) = a7103ca053e92a810c87c593262bb386f3d02606
-SHA1 (patch-lib_fuzzer_tests_CMakeLists.txt) = 38ca750154dfc9843a56748078235824b772a147
-SHA1 (patch-lib_hwasan_hwasan__interceptors.cc) = 45fd48ae7bb21878432f925dea7af8d9f0ee0b02
-SHA1 (patch-lib_msan_msan__interceptors.cc) = 92ed308e84b0845f15110e0167f265ed5cea2580
+SHA1 (patch-lib_fuzzer_tests_CMakeLists.txt) = 155032af15e557f67d9ef8ca51963c956dafda52
+SHA1 (patch-lib_hwasan_hwasan__interceptors.cc) = 2e0f78a6e022ac8ab531bf4fe9d602e5f06d4085
+SHA1 (patch-lib_msan_msan__interceptors.cc) = 9f0c1a05430314581b1711f1d5a1ab8870053879
 SHA1 (patch-lib_msan_msan__linux.cc) = d75d7587071a9e7a3f6a08a3008af55319e62cab
 SHA1 (patch-lib_sanitizer__common_CMakeLists.txt) = fcbf2987ccab5258fe760aef6ef47bd97e0e0b2c
-SHA1 (patch-lib_sanitizer__common_sanitizer__common__interceptors.inc) = cf6b48115ea51077299b5c04b652c8fd9abc56df
+SHA1 (patch-lib_sanitizer__common_sanitizer__common__interceptors.inc) = 52d46e6a7a966619a8f29ef876eaea5db173d842
 SHA1 (patch-lib_sanitizer__common_sanitizer__common__interceptors__ioctl.inc) = 231f519a0564aa69d746a7f0bbee1b1aeed927a7
-SHA1 (patch-lib_sanitizer__common_sanitizer__internal__defs.h) = 126424635f89439e89371a57754232082e2290c6
+SHA1 (patch-lib_sanitizer__common_sanitizer__internal__defs.h) = 32b82050d6a19c104cfbe85d9e2e95c5c6f980b6
 SHA1 (patch-lib_sanitizer__common_sanitizer__linux.cc) = b1057f01ae2f03498613eb1a02501c8a65d16fed
-SHA1 (patch-lib_sanitizer__common_sanitizer__netbsd__interceptors__ioctl.inc) = 5bc8f32fbe32ee627650fb7c7342db4a3f9a74f0
-SHA1 (patch-lib_sanitizer__common_sanitizer__netbsd__syscalls.inc) = eb691a1ee0f094cfe6a3114f03fb6b7f689ade6f
-SHA1 (patch-lib_sanitizer__common_sanitizer__platform__interceptors.h) = f40de35390ae5c1bd1c38c8a365d9f0a5636a0ea
-SHA1 (patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.cc) = ae99697d5331e6b05f26f74c48119f5cacd4c4e0
-SHA1 (patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.h) = 19490197ac6d275d777f5b79b96c25aa6d4e3d71
+SHA1 (patch-lib_sanitizer__common_sanitizer__netbsd__interceptors__ioctl.inc) = b13064600009e121b3a6a356c9903a87e8c3a1f5
+SHA1 (patch-lib_sanitizer__common_sanitizer__netbsd__syscalls.inc) = dcb827142ecc6105335843454174741d6dbc3f20
+SHA1 (patch-lib_sanitizer__common_sanitizer__platform__interceptors.h) = bd15094536104ca1801619a666d0cf0a4e86c801
+SHA1 (patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.cc) = 47236661e37673d66a52e80c3f55be13029014ca
+SHA1 (patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.h) = 08f6c4924a58babe8332455cf49b782c92a1bca5
 SHA1 (patch-lib_sanitizer__common_sanitizer__procmaps__freebsd.cc) = 7e0deaeeada33bd13575251e5d8fb4a0ee4c53e8
 SHA1 (patch-lib_scudo_scudo__platform.h) = 6b07d34d5f1209c7f1bf21fdf0cda5cbe88b802f
 SHA1 (patch-lib_tsan_rtl_tsan__interceptors.cc) = 4fbaa64e3f8d28cdbab6783c296dfd31cecb45a5
 SHA1 (patch-test_asan_lit.cfg) = 121fb6db88a17b8b588a40ee022a9a219d84493f
 SHA1 (patch-test_lsan_lit.common.cfg) = 10dc251f80efb96d015a22c740dc20b1843b9a11
 SHA1 (patch-test_scudo_lit.cfg) = 171f340505f7c87f74a7814b9c4d12d7fcbc5690
-SHA1 (patch-utils_generate__netbsd__ioctls.awk) = 04bbe9c0dc403ec1e781b6b4cc5d9d43939581cf
-SHA1 (patch-utils_generate__netbsd__syscalls.awk) = af89b1fdc5e551ef0c79bfa9b5002d4d8dc36c32
+SHA1 (patch-utils_generate__netbsd__ioctls.awk) = 7935f00b242201fef01540d0ade7d87be5b029e4
+SHA1 (patch-utils_generate__netbsd__syscalls.awk) = c99a38947c22549c0230d31b939d7caa8f1bcd64
diff --git a/compiler-rt-netbsd/patches/patch-cmake_config-ix.cmake b/compiler-rt-netbsd/patches/patch-cmake_config-ix.cmake
index 0e10ad2312..83272b06e3 100644
--- a/compiler-rt-netbsd/patches/patch-cmake_config-ix.cmake
+++ b/compiler-rt-netbsd/patches/patch-cmake_config-ix.cmake
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- cmake/config-ix.cmake.orig	2018-01-08 15:33:13.000000000 +0000
+--- cmake/config-ix.cmake.orig	2018-01-15 06:00:16.005632076 +0000
 +++ cmake/config-ix.cmake
 @@ -542,7 +542,7 @@ else()
  endif()
diff --git a/compiler-rt-netbsd/patches/patch-include_sanitizer_netbsd__syscall__hooks.h b/compiler-rt-netbsd/patches/patch-include_sanitizer_netbsd__syscall__hooks.h
index 0178f02c9d..6f12c9901a 100644
--- a/compiler-rt-netbsd/patches/patch-include_sanitizer_netbsd__syscall__hooks.h
+++ b/compiler-rt-netbsd/patches/patch-include_sanitizer_netbsd__syscall__hooks.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- include/sanitizer/netbsd_syscall_hooks.h.orig	2018-01-12 23:31:09.111919550 +0000
+--- include/sanitizer/netbsd_syscall_hooks.h.orig	2018-01-15 06:15:08.859550198 +0000
 +++ include/sanitizer/netbsd_syscall_hooks.h
 @@ -0,0 +1,4730 @@
 +//===-- netbsd_syscall_hooks.h --------------------------------------------===//
diff --git a/compiler-rt-netbsd/patches/patch-lib_fuzzer_tests_CMakeLists.txt b/compiler-rt-netbsd/patches/patch-lib_fuzzer_tests_CMakeLists.txt
index d2fd1cf3d9..2b333e71bc 100644
--- a/compiler-rt-netbsd/patches/patch-lib_fuzzer_tests_CMakeLists.txt
+++ b/compiler-rt-netbsd/patches/patch-lib_fuzzer_tests_CMakeLists.txt
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- lib/fuzzer/tests/CMakeLists.txt.orig	2017-10-17 18:35:48.000000000 +0000
+--- lib/fuzzer/tests/CMakeLists.txt.orig	2018-01-15 06:00:16.375143319 +0000
 +++ lib/fuzzer/tests/CMakeLists.txt
 @@ -10,6 +10,9 @@ add_custom_target(FuzzerUnitTests)
  set_target_properties(FuzzerUnitTests PROPERTIES FOLDER "Compiler-RT Tests")
@@ -11,4 +11,4 @@ $NetBSD$
 +endif()
  list(APPEND LIBFUZZER_UNITTEST_LINK_FLAGS --driver-mode=g++)
  
- if(APPLE)
+ if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
diff --git a/compiler-rt-netbsd/patches/patch-lib_hwasan_hwasan__interceptors.cc b/compiler-rt-netbsd/patches/patch-lib_hwasan_hwasan__interceptors.cc
index 9bd23348fd..da41eea12a 100644
--- a/compiler-rt-netbsd/patches/patch-lib_hwasan_hwasan__interceptors.cc
+++ b/compiler-rt-netbsd/patches/patch-lib_hwasan_hwasan__interceptors.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- lib/hwasan/hwasan_interceptors.cc.orig	2017-12-21 18:53:10.000000000 +0000
+--- lib/hwasan/hwasan_interceptors.cc.orig	2018-01-15 06:00:16.372665123 +0000
 +++ lib/hwasan/hwasan_interceptors.cc
-@@ -448,6 +448,7 @@ int OnExit() {
+@@ -457,6 +457,7 @@ int OnExit() {
      (void)(s);                                \
    } while (false)
  #include "sanitizer_common/sanitizer_common_syscalls.inc"
diff --git a/compiler-rt-netbsd/patches/patch-lib_msan_msan__interceptors.cc b/compiler-rt-netbsd/patches/patch-lib_msan_msan__interceptors.cc
index 7b23c629c8..acfaaffe43 100644
--- a/compiler-rt-netbsd/patches/patch-lib_msan_msan__interceptors.cc
+++ b/compiler-rt-netbsd/patches/patch-lib_msan_msan__interceptors.cc
@@ -2,7 +2,7 @@ $NetBSD$
 
 --- lib/msan/msan_interceptors.cc.orig	2018-01-08 15:33:13.000000000 +0000
 +++ lib/msan/msan_interceptors.cc
-@@ -33,6 +33,7 @@
+@@ -33,11 +33,13 @@
  #include "sanitizer_common/sanitizer_libc.h"
  #include "sanitizer_common/sanitizer_linux.h"
  #include "sanitizer_common/sanitizer_tls_get_addr.h"
@@ -10,7 +10,13 @@ $NetBSD$
  
  #if SANITIZER_NETBSD
  #define fstat __fstat50
-@@ -689,6 +690,73 @@ INTERCEPTOR(int, putenv, char *string) {
+ #define gettimeofday __gettimeofday50
+ #define getrusage __getrusage50
++#define tzset __tzset50
+ #endif
+ 
+ #include <stdarg.h>
+@@ -689,6 +691,73 @@ INTERCEPTOR(int, putenv, char *string) {
    return res;
  }
  
@@ -84,7 +90,33 @@ $NetBSD$
  #if SANITIZER_NETBSD
  INTERCEPTOR(int, fstat, int fd, void *buf) {
    ENSURE_MSAN_INITED();
-@@ -1152,23 +1220,78 @@ struct MSanAtExitRecord {
+@@ -1137,6 +1206,18 @@ INTERCEPTOR(int, pthread_join, void *th,
+ 
+ extern char *tzname[2];
+ 
++#if SANITIZER_NETBSD
++INTERCEPTOR(void, tzset, void) {
++  ENSURE_MSAN_INITED();
++  InterceptorScope interceptor_scope;
++  REAL(tzset)();
++  if (tzname[0])
++    __msan_unpoison(tzname[0], REAL(strlen)(tzname[0]) + 1);
++  if (tzname[1])
++    __msan_unpoison(tzname[1], REAL(strlen)(tzname[1]) + 1);
++  return;
++}
++#else
+ INTERCEPTOR(void, tzset, int fake) {
+   ENSURE_MSAN_INITED();
+   REAL(tzset)(fake);
+@@ -1146,29 +1227,85 @@ INTERCEPTOR(void, tzset, int fake) {
+     __msan_unpoison(tzname[1], REAL(strlen)(tzname[1]) + 1);
+   return;
+ }
++#endif
+ 
+ struct MSanAtExitRecord {
+   void (*func)(void *arg);
    void *arg;
  };
  
@@ -166,7 +198,19 @@ $NetBSD$
  }
  
  static void BeforeFork() {
-@@ -1401,6 +1524,7 @@ static uptr signal_impl(int signo, uptr 
+@@ -1322,6 +1459,11 @@ int OnExit() {
+     __msan_unpoison(to + size, 1);                          \
+   } while (false)
+ 
++#if SANITIZER_NETBSD1
++#define COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE       \
++  InterceptorScope interceptor_scope;
++#endif
++
+ #include "sanitizer_common/sanitizer_platform_interceptors.h"
+ #include "sanitizer_common/sanitizer_common_interceptors.inc"
+ 
+@@ -1401,6 +1543,7 @@ static uptr signal_impl(int signo, uptr 
    } while (false)
  #define COMMON_SYSCALL_POST_WRITE_RANGE(p, s) __msan_unpoison(p, s)
  #include "sanitizer_common/sanitizer_common_syscalls.inc"
@@ -174,7 +218,7 @@ $NetBSD$
  
  struct dlinfo {
    char *dli_fname;
-@@ -1566,6 +1690,9 @@ namespace __msan {
+@@ -1566,6 +1709,9 @@ namespace __msan {
  void InitializeInterceptors() {
    static int inited = 0;
    CHECK_EQ(inited, 0);
@@ -184,7 +228,7 @@ $NetBSD$
    InitializeCommonInterceptors();
    InitializeSignalInterceptors();
  
-@@ -1682,6 +1809,7 @@ void InitializeInterceptors() {
+@@ -1682,6 +1828,7 @@ void InitializeInterceptors() {
  
    INTERCEPT_FUNCTION(pthread_join);
    INTERCEPT_FUNCTION(tzset);
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__common__interceptors.inc b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__common__interceptors.inc
index f2f4607ace..148dd75982 100644
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__common__interceptors.inc
+++ b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__common__interceptors.inc
@@ -1,8 +1,16 @@
 $NetBSD$
 
---- lib/sanitizer_common/sanitizer_common_interceptors.inc.orig	2018-01-08 15:33:14.000000000 +0000
+--- lib/sanitizer_common/sanitizer_common_interceptors.inc.orig	2018-01-15 06:00:16.210403175 +0000
 +++ lib/sanitizer_common/sanitizer_common_interceptors.inc
-@@ -75,6 +75,7 @@
+@@ -36,6 +36,7 @@
+ //   COMMON_INTERCEPTOR_MEMCPY_IMPL
+ //   COMMON_INTERCEPTOR_COPY_STRING
+ //   COMMON_INTERCEPTOR_STRNDUP_IMPL
++//   COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE
+ //===----------------------------------------------------------------------===//
+ 
+ #include "interception/interception.h"
+@@ -75,6 +76,7 @@
  #define clock_settime __clock_settime50
  #define ctime __ctime50
  #define ctime_r __ctime_r50
@@ -10,7 +18,15 @@ $NetBSD$
  #define getitimer __getitimer50
  #define getpwent __getpwent50
  #define getpwnam __getpwnam50
-@@ -107,6 +108,9 @@
+@@ -88,6 +90,7 @@
+ #define glob __glob30
+ #define gmtime __gmtime50
+ #define gmtime_r __gmtime_r50
++#define localtime __locatime50
+ #define localtime_r __localtime_r50
+ #define mktime __mktime50
+ #define opendir __opendir30
+@@ -107,6 +110,9 @@
  #define times __times13
  #define wait3 __wait350
  #define wait4 __wait450
@@ -20,7 +36,90 @@ $NetBSD$
  #endif
  
  // Platform-specific options.
-@@ -1703,6 +1707,7 @@ FORMAT_INTERCEPTOR_IMPL(__isoc99_snprint
+@@ -279,6 +285,10 @@ bool PlatformHasDifferentMemcpyAndMemmov
+   return new_mem;
+ #endif
+ 
++#ifndef COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE
++#define COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE
++#endif
++
+ struct FileMetadata {
+   // For open_memstream().
+   char **addr;
+@@ -1229,6 +1239,7 @@ static void unpoison_tm(void *ctx, __san
+ INTERCEPTOR(__sanitizer_tm *, localtime, unsigned long *timep) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, localtime, timep);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   __sanitizer_tm *res = REAL(localtime)(timep);
+   if (res) {
+     COMMON_INTERCEPTOR_READ_RANGE(ctx, timep, sizeof(*timep));
+@@ -1239,6 +1250,7 @@ INTERCEPTOR(__sanitizer_tm *, localtime,
+ INTERCEPTOR(__sanitizer_tm *, localtime_r, unsigned long *timep, void *result) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, localtime_r, timep, result);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   __sanitizer_tm *res = REAL(localtime_r)(timep, result);
+   if (res) {
+     COMMON_INTERCEPTOR_READ_RANGE(ctx, timep, sizeof(*timep));
+@@ -1249,6 +1261,7 @@ INTERCEPTOR(__sanitizer_tm *, localtime_
+ INTERCEPTOR(__sanitizer_tm *, gmtime, unsigned long *timep) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, gmtime, timep);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   __sanitizer_tm *res = REAL(gmtime)(timep);
+   if (res) {
+     COMMON_INTERCEPTOR_READ_RANGE(ctx, timep, sizeof(*timep));
+@@ -1259,6 +1272,7 @@ INTERCEPTOR(__sanitizer_tm *, gmtime, un
+ INTERCEPTOR(__sanitizer_tm *, gmtime_r, unsigned long *timep, void *result) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, gmtime_r, timep, result);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   __sanitizer_tm *res = REAL(gmtime_r)(timep, result);
+   if (res) {
+     COMMON_INTERCEPTOR_READ_RANGE(ctx, timep, sizeof(*timep));
+@@ -1269,6 +1283,7 @@ INTERCEPTOR(__sanitizer_tm *, gmtime_r, 
+ INTERCEPTOR(char *, ctime, unsigned long *timep) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, ctime, timep);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   // FIXME: under ASan the call below may write to freed memory and corrupt
+   // its metadata. See
+   // https://github.com/google/sanitizers/issues/321.
+@@ -1282,6 +1297,7 @@ INTERCEPTOR(char *, ctime, unsigned long
+ INTERCEPTOR(char *, ctime_r, unsigned long *timep, char *result) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, ctime_r, timep, result);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   // FIXME: under ASan the call below may write to freed memory and corrupt
+   // its metadata. See
+   // https://github.com/google/sanitizers/issues/321.
+@@ -1295,6 +1311,7 @@ INTERCEPTOR(char *, ctime_r, unsigned lo
+ INTERCEPTOR(char *, asctime, __sanitizer_tm *tm) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, asctime, tm);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   // FIXME: under ASan the call below may write to freed memory and corrupt
+   // its metadata. See
+   // https://github.com/google/sanitizers/issues/321.
+@@ -1308,6 +1325,7 @@ INTERCEPTOR(char *, asctime, __sanitizer
+ INTERCEPTOR(char *, asctime_r, __sanitizer_tm *tm, char *result) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, asctime_r, tm, result);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   // FIXME: under ASan the call below may write to freed memory and corrupt
+   // its metadata. See
+   // https://github.com/google/sanitizers/issues/321.
+@@ -1321,6 +1339,7 @@ INTERCEPTOR(char *, asctime_r, __sanitiz
+ INTERCEPTOR(long, mktime, __sanitizer_tm *tm) {
+   void *ctx;
+   COMMON_INTERCEPTOR_ENTER(ctx, mktime, tm);
++  COMMON_INTERCEPTOR_LOCALTIME_AND_FRIEND_SCOPE;
+   COMMON_INTERCEPTOR_READ_RANGE(ctx, &tm->tm_sec, sizeof(tm->tm_sec));
+   COMMON_INTERCEPTOR_READ_RANGE(ctx, &tm->tm_min, sizeof(tm->tm_min));
+   COMMON_INTERCEPTOR_READ_RANGE(ctx, &tm->tm_hour, sizeof(tm->tm_hour));
+@@ -1703,6 +1722,7 @@ FORMAT_INTERCEPTOR_IMPL(__isoc99_snprint
  
  #if SANITIZER_INTERCEPT_IOCTL
  #include "sanitizer_common_interceptors_ioctl.inc"
@@ -28,7 +127,7 @@ $NetBSD$
  INTERCEPTOR(int, ioctl, int d, unsigned long request, ...) {
    // We need a frame pointer, because we call into ioctl_common_[pre|post] which
    // can trigger a report and we need to be able to unwind through this
-@@ -2765,6 +2770,29 @@ INTERCEPTOR(int, accept4, int fd, void *
+@@ -2776,6 +2796,29 @@ INTERCEPTOR(int, accept4, int fd, void *
  #define INIT_ACCEPT4
  #endif
  
@@ -58,7 +157,7 @@ $NetBSD$
  #if SANITIZER_INTERCEPT_MODF
  INTERCEPTOR(double, modf, double x, double *iptr) {
    void *ctx;
-@@ -3153,7 +3181,14 @@ INTERCEPTOR(char *, setlocale, int categ
+@@ -3164,7 +3207,14 @@ INTERCEPTOR(char *, setlocale, int categ
    if (locale)
      COMMON_INTERCEPTOR_READ_RANGE(ctx, locale, REAL(strlen)(locale) + 1);
    char *res = REAL(setlocale)(category, locale);
@@ -74,7 +173,7 @@ $NetBSD$
    return res;
  }
  
-@@ -6452,6 +6487,463 @@ INTERCEPTOR(wchar_t *, wcsncat, wchar_t 
+@@ -6463,6 +6513,586 @@ INTERCEPTOR(wchar_t *, wcsncat, wchar_t 
  #define INIT_WCSCAT
  #endif
  
@@ -173,12 +272,23 @@ $NetBSD$
 +
 +INTERCEPTOR(char **, kvm_getenvv2, struct __sanitizer_kvm *kd, void *kp, int nchr) {
 +  void *ctx;
++  char **argv;
 +  COMMON_INTERCEPTOR_ENTER(ctx, kvm_getenvv2, kd, kp, nchr);
 +  if (kd)
 +    COMMON_INTERCEPTOR_READ_RANGE(ctx, kd, sizeof(struct __sanitizer_kvm));
 +  if (kp)
 +    COMMON_INTERCEPTOR_READ_RANGE(ctx, kp, struct_kinfo_proc2_sz);
-+  return REAL(kvm_getenvv2)(kd, kp, nchr);
++  argv = REAL(kvm_getenvv2)(kd, kp, nchr);
++  if (argv) {
++    char **p = argv;
++    while (*p) {
++      COMMON_INTERCEPTOR_WRITE_RANGE(ctx, p, sizeof(char **));
++      COMMON_INTERCEPTOR_WRITE_RANGE(ctx, *p, REAL(strlen)(*p) + 1);
++      p++;
++    }
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, p, sizeof(char **));
++  }
++  return argv;
 +}
 +
 +INTERCEPTOR(char *, kvm_geterr, struct __sanitizer_kvm *kd) {
@@ -534,11 +644,123 @@ $NetBSD$
 +#else
 +#define INIT_ATOF
 +#endif
++
++#if SANITIZER_INTERCEPT_USER_FROM_UID
++INTERCEPTOR(char *, user_from_uid, u32 uid, int nouser) {
++  void *ctx;
++  char *user;
++  COMMON_INTERCEPTOR_ENTER(ctx, user_from_uid, uid, nouser);
++  user = REAL(user_from_uid)(uid, nouser);
++  if (user) {
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, user, REAL(strlen)(user) + 1);
++  }
++  return user;
++}
++#define INIT_USER_FROM_UID COMMON_INTERCEPT_FUNCTION(user_from_uid)
++#else
++#define INIT_USER_FROM_UID
++#endif
++
++#if SANITIZER_INTERCEPT_UID_FROM_USER
++INTERCEPTOR(int, uid_from_user, char *name, u32 *uid) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, uid_from_user, name, uid);
++  if (name)
++    COMMON_INTERCEPTOR_READ_RANGE(ctx, name, REAL(strlen)(name) + 1);
++  if (uid)
++    COMMON_INTERCEPTOR_READ_RANGE(ctx, uid, sizeof(*uid));
++  return REAL(uid_from_user)(name, uid);
++}
++#define INIT_UID_FROM_USER COMMON_INTERCEPT_FUNCTION(uid_from_user)
++#else
++#define INIT_UID_FROM_USER
++#endif
++
++#if SANITIZER_INTERCEPT_GROUP_FROM_GID
++INTERCEPTOR(char *, group_from_gid, u32 gid, int nogroup) {
++  void *ctx;
++  char *group;
++  COMMON_INTERCEPTOR_ENTER(ctx, group_from_gid, gid, nogroup);
++  group = REAL(group_from_gid)(gid, nogroup);
++  if (group) {
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, group, REAL(strlen)(group) + 1);
++  }
++  return group;
++}
++#define INIT_GROUP_FROM_GID COMMON_INTERCEPT_FUNCTION(group_from_gid)
++#else
++#define INIT_GROUP_FROM_GID
++#endif
++
++#if SANITIZER_INTERCEPT_GID_FROM_GROUP
++INTERCEPTOR(int, gid_from_group, char *group, u32 *gid) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, gid_from_group, group, gid);
++  if (group)
++    COMMON_INTERCEPTOR_READ_RANGE(ctx, group, REAL(strlen)(group) + 1);
++  if (gid)
++    COMMON_INTERCEPTOR_READ_RANGE(ctx, gid, sizeof(*gid));
++  return REAL(gid_from_group)(group, gid);
++}
++#define INIT_GID_FROM_USER COMMON_INTERCEPT_FUNCTION(gid_from_group)
++#else
++#define INIT_GID_FROM_USER
++#endif
++
++#if SANITIZER_INTERCEPT_GETTTYENT
++INTERCEPTOR(struct __sanitizer_ttyent *, getttyent, void) {
++  void *ctx;
++  struct __sanitizer_ttyent *ttyent;
++  COMMON_INTERCEPTOR_ENTER(ctx, getttyent);
++  ttyent = REAL(getttyent)();
++  if (ttyent) {
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, ttyent, struct_ttyent_sz);
++  }
++  return ttyent;
++}
++INTERCEPTOR(struct __sanitizer_ttyent *, getttynam, char *name) {
++  void *ctx;
++  struct __sanitizer_ttyent *ttyent;
++  COMMON_INTERCEPTOR_ENTER(ctx, getttynam, name);
++  if (name)
++    COMMON_INTERCEPTOR_READ_RANGE(ctx, name, REAL(strlen)(name) + 1);
++  ttyent = REAL(getttynam)(name);
++  if (ttyent) {
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, ttyent, struct_ttyent_sz);
++  }
++  return ttyent;
++}
++INTERCEPTOR(int, setttyent) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, setttyent);
++  return REAL(setttyent)();
++}
++INTERCEPTOR(int, setttyentpath, char *path) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, setttyentpath, path);
++  if (path)
++    COMMON_INTERCEPTOR_READ_RANGE(ctx, path, REAL(strlen)(path) + 1);
++  return REAL(setttyentpath)(path);
++}
++INTERCEPTOR(int, endttyent) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, endttyent);
++  return REAL(endttyent)();
++}
++#define INIT_GETTTYENT \
++  COMMON_INTERCEPT_FUNCTION(getttyent); \
++  COMMON_INTERCEPT_FUNCTION(getttynam); \
++  COMMON_INTERCEPT_FUNCTION(setttyent); \
++  COMMON_INTERCEPT_FUNCTION(setttyentpath); \
++  COMMON_INTERCEPT_FUNCTION(endttyent)
++#else
++#define INIT_GETTTYENT
++#endif
 +
  static void InitializeCommonInterceptors() {
    static u64 metadata_mem[sizeof(MetadataHashMap) / sizeof(u64) + 1];
    interceptor_metadata_map = new((void *)&metadata_mem) MetadataHashMap();
-@@ -6531,6 +7023,7 @@ static void InitializeCommonInterceptors
+@@ -6542,6 +7172,7 @@ static void InitializeCommonInterceptors
    INIT_GETSOCKOPT;
    INIT_ACCEPT;
    INIT_ACCEPT4;
@@ -546,7 +768,7 @@ $NetBSD$
    INIT_MODF;
    INIT_RECVMSG;
    INIT_SENDMSG;
-@@ -6663,6 +7156,15 @@ static void InitializeCommonInterceptors
+@@ -6674,6 +7305,20 @@ static void InitializeCommonInterceptors
    INIT_GETLOADAVG;
    INIT_WCSLEN;
    INIT_WCSCAT;
@@ -559,6 +781,11 @@ $NetBSD$
 +  INIT_FACCESSAT;
 +  INIT_ACCT;
 +  INIT_ATOF;
++  INIT_USER_FROM_UID;
++  INIT_UID_FROM_USER;
++  INIT_GROUP_FROM_GID;
++  INIT_GID_FROM_USER;
++  INIT_GETTTYENT;
  
  #if SANITIZER_NETBSD
    COMMON_INTERCEPT_FUNCTION(__libc_mutex_lock);
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__internal__defs.h b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__internal__defs.h
index f7d7458537..cee875137e 100644
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__internal__defs.h
+++ b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__internal__defs.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- lib/sanitizer_common/sanitizer_internal_defs.h.orig	2017-12-21 18:53:10.000000000 +0000
+--- lib/sanitizer_common/sanitizer_internal_defs.h.orig	2018-01-15 06:00:15.999252256 +0000
 +++ lib/sanitizer_common/sanitizer_internal_defs.h
 @@ -177,7 +177,9 @@ typedef uptr tid_t;
  // This header should NOT include any other headers to avoid portability issues.
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__interceptors__ioctl.inc b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__interceptors__ioctl.inc
index 76fb583790..3432442834 100644
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__interceptors__ioctl.inc
+++ b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__interceptors__ioctl.inc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- lib/sanitizer_common/sanitizer_netbsd_interceptors_ioctl.inc.orig	2018-01-12 23:31:09.114643909 +0000
+--- lib/sanitizer_common/sanitizer_netbsd_interceptors_ioctl.inc.orig	2018-01-15 06:15:08.862815099 +0000
 +++ lib/sanitizer_common/sanitizer_netbsd_interceptors_ioctl.inc
 @@ -0,0 +1,1490 @@
 +//===-- sanitizer_common_interceptors_ioctl.inc -----------------*- C++ -*-===//
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__syscalls.inc b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__syscalls.inc
index 5322a3e57a..9a79602fd2 100644
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__syscalls.inc
+++ b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__netbsd__syscalls.inc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- lib/sanitizer_common/sanitizer_netbsd_syscalls.inc.orig	2018-01-12 23:31:09.115508870 +0000
+--- lib/sanitizer_common/sanitizer_netbsd_syscalls.inc.orig	2018-01-15 06:15:08.863705740 +0000
 +++ lib/sanitizer_common/sanitizer_netbsd_syscalls.inc
 @@ -0,0 +1,3793 @@
 +//===-- sanitizer_common_syscalls.inc ---------------------------*- C++ -*-===//
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__interceptors.h b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__interceptors.h
index b6e48f99a2..6f932cdbdf 100644
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__interceptors.h
+++ b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__interceptors.h
@@ -12,7 +12,7 @@ $NetBSD$
  #define SANITIZER_INTERCEPT_MODF SI_POSIX
  #define SANITIZER_INTERCEPT_RECVMSG SI_POSIX
  #define SANITIZER_INTERCEPT_SENDMSG SI_POSIX
-@@ -432,4 +433,14 @@
+@@ -432,4 +433,19 @@
  #define SANITIZER_INTERCEPT_SIGNAL_AND_SIGACTION (!SI_WINDOWS && SI_NOT_FUCHSIA)
  #define SANITIZER_INTERCEPT_BSD_SIGNAL SI_ANDROID
  
@@ -25,5 +25,10 @@ $NetBSD$
 +#define SANITIZER_INTERCEPT_FACCESSAT SI_NETBSD
 +#define SANITIZER_INTERCEPT_ACCT SI_NETBSD
 +#define SANITIZER_INTERCEPT_ATOF SI_NETBSD
++#define SANITIZER_INTERCEPT_USER_FROM_UID SI_NETBSD
++#define SANITIZER_INTERCEPT_UID_FROM_USER SI_NETBSD
++#define SANITIZER_INTERCEPT_GROUP_FROM_GID SI_NETBSD
++#define SANITIZER_INTERCEPT_GID_FROM_GROUP SI_NETBSD
++#define SANITIZER_INTERCEPT_GETTTYENT SI_NETBSD
 +
  #endif  // #ifndef SANITIZER_PLATFORM_INTERCEPTORS_H
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.cc b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.cc
index 0a55bed4ab..b83f09cd01 100644
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.cc
+++ b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.cc
@@ -172,7 +172,15 @@ $NetBSD$
  #include <sys/shm.h>
  #include <sys/signal.h>
  #include <sys/socket.h>
-@@ -99,18 +240,83 @@ unsigned struct_sockaddr_sz = sizeof(str
+@@ -67,6 +208,7 @@
+ #include <utmpx.h>
+ #include <wchar.h>
+ #include <wordexp.h>
++#include <ttyent.h>
+ 
+ // Include these after system headers to avoid name clashes and ambiguities.
+ #include "sanitizer_internal_defs.h"
+@@ -99,18 +241,83 @@ unsigned struct_sockaddr_sz = sizeof(str
  unsigned ucontext_t_sz = sizeof(ucontext_t);
  unsigned struct_rlimit_sz = sizeof(struct rlimit);
  unsigned struct_timespec_sz = sizeof(struct timespec);
@@ -256,12 +264,14 @@ $NetBSD$
  int shmctl_ipc_stat = (int)IPC_STAT;
  
  unsigned struct_utmp_sz = sizeof(struct utmp);
-@@ -137,65 +343,1729 @@ int glob_altdirfunc = GLOB_ALTDIRFUNC;
+@@ -137,65 +344,1731 @@ int glob_altdirfunc = GLOB_ALTDIRFUNC;
  
  unsigned path_max = PATH_MAX;
  
 +int struct_kinfo_proc_sz = sizeof(struct kinfo_proc);
 +int struct_kinfo_proc2_sz = sizeof(struct kinfo_proc2);
++
++int struct_ttyent_sz = sizeof(struct ttyent);
 +
  // ioctl arguments
 -unsigned struct_ifreq_sz = sizeof(struct ifreq);
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.h b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.h
index b4f305c4ca..c1cc202e2f 100644
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.h
+++ b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__platform__limits__netbsd.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- lib/sanitizer_common/sanitizer_platform_limits_netbsd.h.orig	2017-12-21 18:53:10.000000000 +0000
+--- lib/sanitizer_common/sanitizer_platform_limits_netbsd.h.orig	2018-01-15 06:00:16.210858154 +0000
 +++ lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
 @@ -57,33 +57,36 @@ extern unsigned ucontext_t_sz;
  extern unsigned struct_rlimit_sz;
@@ -60,7 +60,7 @@ $NetBSD$
  struct __sanitizer_sem_t {
    uptr data[5];
  };
-@@ -131,10 +134,29 @@ struct __sanitizer_ifaddrs {
+@@ -131,6 +134,8 @@ struct __sanitizer_ifaddrs {
    unsigned int ifa_addrflags;
  };
  
@@ -69,28 +69,7 @@ $NetBSD$
  typedef unsigned __sanitizer_pthread_key_t;
  
  typedef long long __sanitizer_time_t;
- 
-+typedef int __sanitizer_suseconds_t;
-+
-+struct __sanitizer_timeval {
-+  __sanitizer_time_t tv_sec;
-+  __sanitizer_suseconds_t tv_usec;
-+};
-+
-+struct __sanitizer_itimerval {
-+  struct __sanitizer_timeval it_interval;
-+  struct __sanitizer_timeval it_value;
-+};
-+
-+struct __sanitizer_timespec {
-+  __sanitizer_time_t tv_sec;
-+  long tv_nsec;
-+};
-+
- struct __sanitizer_passwd {
-   char *pw_name;
-   char *pw_passwd;
-@@ -189,6 +211,12 @@ struct __sanitizer_msghdr {
+@@ -200,6 +205,12 @@ struct __sanitizer_msghdr {
    unsigned msg_controllen;
    int msg_flags;
  };
@@ -103,7 +82,7 @@ $NetBSD$
  struct __sanitizer_cmsghdr {
    unsigned cmsg_len;
    int cmsg_level;
-@@ -241,6 +269,22 @@ struct __sanitizer_sigaction {
+@@ -252,6 +263,22 @@ struct __sanitizer_sigaction {
    int sa_flags;
  };
  
@@ -126,7 +105,7 @@ $NetBSD$
  typedef __sanitizer_sigset_t __sanitizer_kernel_sigset_t;
  
  struct __sanitizer_kernel_sigaction_t {
-@@ -298,6 +342,8 @@ struct __sanitizer_pollfd {
+@@ -309,6 +336,8 @@ struct __sanitizer_pollfd {
  
  typedef unsigned __sanitizer_nfds_t;
  
@@ -135,13 +114,15 @@ $NetBSD$
  struct __sanitizer_glob_t {
    uptr gl_pathc;
    uptr gl_matchc;
-@@ -317,6 +363,52 @@ extern int glob_altdirfunc;
+@@ -328,6 +357,54 @@ extern int glob_altdirfunc;
  
  extern unsigned path_max;
  
 +extern int struct_kinfo_proc_sz;
 +extern int struct_kinfo_proc2_sz;
 +
++extern int struct_ttyent_sz;
++
 +extern int ptrace_pt_io;
 +extern int ptrace_pt_lwpinfo;
 +extern int ptrace_pt_set_event_mask;
@@ -188,7 +169,7 @@ $NetBSD$
  struct __sanitizer_wordexp_t {
    uptr we_wordc;
    char **we_wordv;
-@@ -350,6 +442,43 @@ struct __sanitizer_ifconf {
+@@ -361,6 +438,53 @@ struct __sanitizer_ifconf {
    } ifc_ifcu;
  };
  
@@ -228,11 +209,21 @@ $NetBSD$
 +  uptr iobufsz;
 +  char kernelname[1024];
 +};
++
++struct __sanitizer_ttyent {
++  char *ty_name;
++  char *ty_getty;
++  char *ty_type;
++  int ty_status;
++  char *ty_window;
++  char *ty_comment;
++  char *ty_class;
++};
 +
  #define IOC_NRBITS 8
  #define IOC_TYPEBITS 8
  #define IOC_SIZEBITS 14
-@@ -374,185 +503,1712 @@ struct __sanitizer_ifconf {
+@@ -385,185 +509,1712 @@ struct __sanitizer_ifconf {
  #define IOC_NR(nr) (((nr) >> IOC_NRSHIFT) & IOC_NRMASK)
  #define IOC_SIZE(nr) (((nr) >> IOC_SIZESHIFT) & IOC_SIZEMASK)
  
diff --git a/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__ioctls.awk b/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__ioctls.awk
index 70f4499e92..d06472ca1d 100644
--- a/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__ioctls.awk
+++ b/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__ioctls.awk
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- utils/generate_netbsd_ioctls.awk.orig	2018-01-12 23:31:09.117769921 +0000
+--- utils/generate_netbsd_ioctls.awk.orig	2018-01-15 06:15:08.866297286 +0000
 +++ utils/generate_netbsd_ioctls.awk
 @@ -0,0 +1,755 @@
 +#!/usr/bin/awk -f
diff --git a/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__syscalls.awk b/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__syscalls.awk
index 93ddb25246..f7d1bd91f2 100644
--- a/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__syscalls.awk
+++ b/compiler-rt-netbsd/patches/patch-utils_generate__netbsd__syscalls.awk
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- utils/generate_netbsd_syscalls.awk.orig	2018-01-12 23:31:09.118429459 +0000
+--- utils/generate_netbsd_syscalls.awk.orig	2018-01-15 06:15:08.866984996 +0000
 +++ utils/generate_netbsd_syscalls.awk
 @@ -0,0 +1,2989 @@
 +#!/usr/bin/awk -f


Home | Main Index | Thread Index | Old Index