いくつかの機能を傍受し、それらにいくつかの機能を追加したいと考えています。
llvm-project にインターセプターがあることがわかりました。 https://github.com/llvm/llvm-project/blob/1a2eaebc09c6a200f93b8beb37130c8b8aab3934/compiler-rt/lib/interception/interception.h
ドキュメントでは、INTERCEPTOR(return type, function name, args ...){} を定義し、INTERCEPT_FUNCTION(function name) を呼び出すことで、関数をインターセプトできると書かれています。
そこで、INTERCEPTOR(void, free, void* p){ //print message} を定義し、compiler-rt ファイルで INTERCEPT_FUNCION(free) を実行しました。
しかし、次のエラーが発生しました。
undefined reference to `__interception::InterceptFunction(char const*, unsigned long*, unsigned long, unsigned long)'
より多くの情報または実装が必要だと思います。
このエラーを解決する方法を知っている人はいますか?
ありがとうございました。