aokblast wrote: The problem happens because ifunc can refer resolver that havn't been defined before ifunc attribute. But LLVM Function only add attribute when it constructed first time. So there are two possible path:
In the under case, no_sanitize cannot be add because it happens at ifunc("resolver") so the unit test failed ```c func_t resolver() { } int foo(int) __attribute__ ((ifunc("resolver"))); ``` In the under case, kcfi attribute failed to add because it happens at function definition: ```c int foo(int) __attribute__ ((ifunc("resolver"))); func_t resolver() { } ``` I try to fix it but other error happens, here is the [patch file](https://pastebin.com/8DtXHpF1). https://github.com/llvm/llvm-project/pull/96400 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits