[llvm-commits] [compiler-rt] r161938 - /compiler-rt/trunk/lib/asan/asan_interceptors.cc
Alexander Potapenko
glider at google.com
Wed Aug 15 02:22:58 PDT 2012
Author: glider
Date: Wed Aug 15 04:22:57 2012
New Revision: 161938
URL: http://llvm.org/viewvc/llvm-project?rev=161938&view=rev
Log:
Use the common interception machinery for mlock/munlock/mlockall/munlockall.
Modified:
compiler-rt/trunk/lib/asan/asan_interceptors.cc
Modified: compiler-rt/trunk/lib/asan/asan_interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.cc?rev=161938&r1=161937&r2=161938&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_interceptors.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_interceptors.cc Wed Aug 15 04:22:57 2012
@@ -131,6 +131,12 @@
long long strtoll(const char *nptr, char **endptr, int base); // NOLINT
# endif
+// mlock/munlock
+int mlock(const void *addr, size_t len);
+int munlock(const void *addr, size_t len);
+int mlockall(int flags);
+int munlockall(void);
+
// Windows threads.
# if defined(_WIN32)
__declspec(dllimport)
@@ -294,26 +300,22 @@
}
extern "C" {
-INTERCEPTOR_ATTRIBUTE
-int mlock(const void *addr, uptr len) {
+INTERCEPTOR(int, mlock, const void *addr, uptr len) {
MlockIsUnsupported();
return 0;
}
-INTERCEPTOR_ATTRIBUTE
-int munlock(const void *addr, uptr len) {
+INTERCEPTOR(int, munlock, const void *addr, uptr len) {
MlockIsUnsupported();
return 0;
}
-INTERCEPTOR_ATTRIBUTE
-int mlockall(int flags) {
+INTERCEPTOR(int, mlockall, int flags) {
MlockIsUnsupported();
return 0;
}
-INTERCEPTOR_ATTRIBUTE
-int munlockall(void) {
+INTERCEPTOR(int, munlockall, void) {
MlockIsUnsupported();
return 0;
}
@@ -749,6 +751,12 @@
ASAN_INTERCEPT_FUNC(strtoll);
#endif
+ // Intercept mlock/munlock.
+ ASAN_INTERCEPT_FUNC(mlock);
+ ASAN_INTERCEPT_FUNC(munlock);
+ ASAN_INTERCEPT_FUNC(mlockall);
+ ASAN_INTERCEPT_FUNC(munlockall);
+
// Intecept signal- and jump-related functions.
ASAN_INTERCEPT_FUNC(longjmp);
#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
More information about the llvm-commits
mailing list