euspectre/kedr

compile error: '_raw_spin_lock' undeclared here (not in a function)

ethercflow opened this issue · 2 comments

OS version: CentOS Linux release 7.6.1810 (Core)
uname -r: 3.10.0-957.10.1.el7.x86_64
gcc version: gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
cmake param:

cmake3  -G "Unix Makefiles" -DWITH_TESTING=on -DCMAKE_INSTALL_PREFIX=/opt/kedr -DKEDR_STANDARD_CALLM_PAYLOADS=on sources

error info:

/root/workspace/kedr/build/payloads_callm/spinlocks/payload.c:307:19: error: '_raw_spin_lock' undeclared here (not in a function)
   .orig = (void*)&_raw_spin_lock,
                   ^
/root/workspace/kedr/build/payloads_callm/spinlocks/payload.c:313:19: error: '_raw_spin_lock_irq' undeclared here (not in a function)
   .orig = (void*)&_raw_spin_lock_irq,
                   ^
make[4]: *** [/root/workspace/kedr/build/payloads_callm/spinlocks/payload.o] Error 1
make[3]: *** [_module_/root/workspace/kedr/build/payloads_callm/spinlocks] Error 2
make[2]: *** [payloads_callm/spinlocks/kedr_cm_spinlocks.ko] Error 2
make[1]: *** [payloads_callm/spinlocks/CMakeFiles/kedr_cm_spinlocks.dir/all] Error 2
make: *** [all] Error 2

Call monitoring feature in KEDR has been unsupported for a while now and is likely broken. It is off by default, I planned to remove it completely in the future versions.

For CentOS 7 and other modern systems, Ftrace (implemented in the kernel itself) is far superior for monitoring function calls, I think.

Get It, thank you.