[PATCH] D56097: [Sanitizer] Enable FTS api on FreeBSD

David CARLIER via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 27 04:03:35 PST 2018


devnexen created this revision.
devnexen added reviewers: krytarowski, vitalybuka.
devnexen created this object with visibility "All Users".
Herald added subscribers: Sanitizers, llvm-commits, fedor.sergeev, kubamracek, emaste.

Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D56097

Files:
  lib/sanitizer_common/sanitizer_platform_interceptors.h
  lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc
  lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
  test/sanitizer_common/TestCases/NetBSD/fts.cc
  test/sanitizer_common/TestCases/Posix/fts.cc


Index: test/sanitizer_common/TestCases/Posix/fts.cc
===================================================================
--- test/sanitizer_common/TestCases/Posix/fts.cc
+++ test/sanitizer_common/TestCases/Posix/fts.cc
@@ -1,4 +1,6 @@
 // RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s
+//
+// UNSUPPORTED: linux, darwin, solaris
 
 #include <sys/param.h>
 #include <sys/types.h>
Index: lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
===================================================================
--- lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
+++ lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
@@ -64,6 +64,8 @@
   extern unsigned struct_timespec_sz;
   extern unsigned struct_regmatch_sz;
   extern unsigned struct_regex_sz;
+  extern unsigned struct_FTS_sz;
+  extern unsigned struct_FTSENT_sz;
   extern const int unvis_valid;
   extern const int unvis_validpush;
 
Index: lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc
===================================================================
--- lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc
+++ lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc
@@ -18,6 +18,7 @@
 
 #include <arpa/inet.h>
 #include <dirent.h>
+#include <fts.h>
 #include <grp.h>
 #include <limits.h>
 #include <net/if.h>
@@ -128,6 +129,8 @@
   unsigned struct_shm_info_sz = sizeof(struct shm_info);
   unsigned struct_regmatch_sz = sizeof(regmatch_t);
   unsigned struct_regex_sz = sizeof(regex_t);
+  unsigned struct_FTS_sz = sizeof(FTS);
+  unsigned struct_FTSENT_sz = sizeof(FTSENT);
 
   const uptr sig_ign = (uptr)SIG_IGN;
   const uptr sig_dfl = (uptr)SIG_DFL;
Index: lib/sanitizer_common/sanitizer_platform_interceptors.h
===================================================================
--- lib/sanitizer_common/sanitizer_platform_interceptors.h
+++ lib/sanitizer_common/sanitizer_platform_interceptors.h
@@ -524,7 +524,7 @@
 #define SANITIZER_INTERCEPT_GETVFSSTAT SI_NETBSD
 #define SANITIZER_INTERCEPT_REGEX (SI_NETBSD || SI_FREEBSD)
 #define SANITIZER_INTERCEPT_REGEXSUB SI_NETBSD
-#define SANITIZER_INTERCEPT_FTS SI_NETBSD
+#define SANITIZER_INTERCEPT_FTS (SI_NETBSD || SI_FREEBSD)
 #define SANITIZER_INTERCEPT_SYSCTL (SI_NETBSD || SI_FREEBSD || SI_MAC)
 #define SANITIZER_INTERCEPT_ASYSCTL SI_NETBSD
 #define SANITIZER_INTERCEPT_SYSCTLGETMIBINFO SI_NETBSD


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56097.179544.patch
Type: text/x-patch
Size: 2372 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181227/c5ef4696/attachment.bin>


More information about the llvm-commits mailing list