[sanitizer] disable shmctl intercetor in 32-bit -- it is rotten (bug filed)

llvm-svn: 195958
This commit is contained in:
Kostya Serebryany 2013-11-29 14:09:13 +00:00
parent 5ca41e3800
commit 5774faf5b0
2 changed files with 19 additions and 1 deletions

View File

@ -0,0 +1,17 @@
// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1
// Regression test for
// https://code.google.com/p/address-sanitizer/issues/detail?id=250
#include <stdio.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <assert.h>
int main() {
int id = shmget(IPC_PRIVATE, 4096, 0644 | IPC_CREAT);
assert(id > -1);
struct shmid_ds ds;
int res = shmctl(id, IPC_STAT, &ds);
assert(res > -1);
printf("shm_segsz: %zd\n", ds.shm_segsz);
assert(ds.shm_segsz == 4096);
}

View File

@ -144,7 +144,8 @@
# define SANITIZER_INTERCEPT_INITGROUPS SI_NOT_WINDOWS
# define SANITIZER_INTERCEPT_ETHER SI_NOT_WINDOWS
# define SANITIZER_INTERCEPT_ETHER_R SI_LINUX_NOT_ANDROID
# define SANITIZER_INTERCEPT_SHMCTL SI_LINUX_NOT_ANDROID
# define SANITIZER_INTERCEPT_SHMCTL \
(SI_LINUX_NOT_ANDROID && SANITIZER_WORDSIZE == 64)
# define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
# define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_NOT_WINDOWS
# define SANITIZER_INTERCEPT_PTHREAD_ATTR_GETINHERITSCHED \