[llvm-dev] no member named 'real_shmctl' in namespace '__interception'

Dmitry Golovin via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 25 06:16:02 PST 2017


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


More information about the llvm-dev mailing list