Hello! I am working on a ARM GCC plugin which instruments each GIMPLE function with some new function calls.
Currently I want to skip certain functions by adding the no_instrument_function attribute. However, I do see that in the disassembled code, all functions are still instrumented. Am I missed anything here? From this page ( https://www.keil.com/support/man/docs/armcc/armcc_chr1359124976163.htm), I do see that no_instrument_function is used to skip --gnu_instrument, but might not be applicable to my case where I use the following command to compile: arm-none-eabi-g++ -fplugin=my_plugin.so -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIH OSTING_DEBUG -DSTM32F429xx -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -DLOS_KERNEL_DEBUG_OUT But overall, could anyone shed some lights on: 1) how to skip instrument certain functions with GCC plugin? 2: is it possible to check the function attribute in GIMPLE code? If so, I can simply check if certain functions are marked as "no_instrument_function" and skip by myself. Thank you! Shuai