Dmitry Golovin via llvm-dev
2017-Dec-25 14:16 UTC
[llvm-dev] no member named 'real_shmctl' in namespace '__interception'
Trying to build compiler_rt for use on Linux with musl libc, but the build fails with the following: /src/llvm/projects/compiler-rt/lib/msan/msan_interceptors.cc:1446:15: error: no member named 'real_shmctl' in namespace '__interception'; did you mean 'real_ioctl'? int res = REAL(shmctl)(shmid, shmctl_ipc_stat, &ds); ^~~~~~~~~~~~ /src/llvm/projects/compiler-rt/lib/msan/../interception/interception.h:162:34: note: expanded from macro 'REAL' # define REAL(x) __interception::PTR_TO_REAL(x) ~~~~~~~~~~~~~~~~^ /src/llvm/projects/compiler-rt/lib/msan/../interception/interception.h:161:25: note: expanded from macro 'PTR_TO_REAL' # define PTR_TO_REAL(x) real_##x ^ <scratch space>:70:1: note: expanded from here real_shmctl ^ /src/llvm/projects/compiler-rt/lib/msan/../sanitizer_common/sanitizer_common_interceptors.inc:1706:1: note: 'real_ioctl' declared here INTERCEPTOR(int, ioctl, int d, unsigned long request, ...) { ^ /src/llvm/projects/compiler-rt/lib/msan/../interception/interception.h:213:3: note: expanded from macro 'INTERCEPTOR' DEFINE_REAL(ret_type, func, __VA_ARGS__) \ ^ /src/llvm/projects/compiler-rt/lib/msan/../interception/interception.h:194:23: note: expanded from macro 'DEFINE_REAL' FUNC_TYPE(func) PTR_TO_REAL(func); \ ^ /src/llvm/projects/compiler-rt/lib/msan/../interception/interception.h:161:25: note: expanded from macro 'PTR_TO_REAL' # define PTR_TO_REAL(x) real_##x ^ <scratch space>:108:1: note: expanded from here real_ioctl ^ Could you please suggest why don't I have real shmctl and how do I get this function? Regards, Dmitry