[PATCH] D56088: Enable posix regex interceptors on linux.

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 27 13:52:01 PST 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rL350103: Enable posix regex interceptors on linux. (authored by eugenis, committed by ).
Herald added a subscriber: delcypher.

Changed prior to commit:
  https://reviews.llvm.org/D56088?vs=179577&id=179579#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56088/new/

https://reviews.llvm.org/D56088

Files:
  compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
  compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
  compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
  compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/regex.cc


Index: compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/regex.cc
===================================================================
--- compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/regex.cc
+++ compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/regex.cc
@@ -1,6 +1,6 @@
 // RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s
 //
-// UNSUPPORTED: linux, darwin, solaris
+// UNSUPPORTED: darwin, solaris
 
 #include <assert.h>
 #include <regex.h>
Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
===================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -49,6 +49,8 @@
   extern unsigned struct_sigevent_sz;
   extern unsigned struct_sched_param_sz;
   extern unsigned struct_statfs64_sz;
+  extern unsigned struct_regex_sz;
+  extern unsigned struct_regmatch_sz;
 
 #if !SANITIZER_ANDROID
   extern unsigned struct_statfs_sz;
Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
===================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
@@ -522,7 +522,7 @@
 #define SANITIZER_INTERCEPT_GETMNTINFO (SI_NETBSD || SI_FREEBSD || SI_MAC)
 #define SANITIZER_INTERCEPT_MI_VECTOR_HASH SI_NETBSD
 #define SANITIZER_INTERCEPT_GETVFSSTAT SI_NETBSD
-#define SANITIZER_INTERCEPT_REGEX (SI_NETBSD || SI_FREEBSD)
+#define SANITIZER_INTERCEPT_REGEX (SI_NETBSD || SI_FREEBSD || SI_LINUX)
 #define SANITIZER_INTERCEPT_REGEXSUB SI_NETBSD
 #define SANITIZER_INTERCEPT_FTS (SI_NETBSD || SI_FREEBSD)
 #define SANITIZER_INTERCEPT_SYSCTL (SI_NETBSD || SI_FREEBSD || SI_MAC)
Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
===================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -45,6 +45,7 @@
 #include <termios.h>
 #include <time.h>
 #include <wchar.h>
+#include <regex.h>
 #if !SANITIZER_MAC
 #include <utmp.h>
 #endif
@@ -189,6 +190,8 @@
   unsigned struct_tms_sz = sizeof(struct tms);
   unsigned struct_sigevent_sz = sizeof(struct sigevent);
   unsigned struct_sched_param_sz = sizeof(struct sched_param);
+  unsigned struct_regex_sz = sizeof(regex_t);
+  unsigned struct_regmatch_sz = sizeof(regmatch_t);
 
 
 #if SANITIZER_MAC && !SANITIZER_IOS


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56088.179579.patch
Type: text/x-patch
Size: 2654 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181227/2bf225a5/attachment.bin>


More information about the llvm-commits mailing list