Created attachment 1885810 [details] Tarball showing the issue with -fpatchable-function-entry on aarch64 Description of problem: When the -fpatchable-function-entry is used the debuginfo indicates that the function starts after the nop instructions inserted at the beginning of the function. This issue looks very similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103525 Version-Release number of selected component (if applicable): gcc-11.2.1-9.4.el9.aarch64 How reproducible: every time Steps to Reproduce: 1. Download the gcc_patchable.tar.gz in this bug 2. tar xvfz ./gcc_patchable.tar.gz 3. cd gcc_patchable 4. gcc -fpatchable-function-entry=8 -g -O2 -save-temps u32_test.c -o u32_test 5. llvm-dwarfdump --name="main" u32_test 6. nm u32_test |grep main Actual results: The nm states that the function starts at 0000000000400580, but the DW_AT_low_pc states it starts later at 0x00000000004005a0 Expected results: The DW_AT_low_pc and start of the function reported by nm should match. Additional info: This issue was observed because the RHEL kernels are compiled with CONFIG_DYNAMIC_FTRACE_WITH_REGS=y. One of the comments, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103525#c2 , mentions that a similar issue was addressed on x86_64.
I've updated PR103525 but it's been in NEW for 6 months, so I think this is not going to be fixed anytime soon. So it seems appropriate to track this upstream only.