Thanks for the report. I compared builds 10158 and 10159.
The additional breakpoint is for _dl_relocate_static_pie_ifunc in static-reloc.c:28. Before b6477e6c4ef, the function and its symbol were already present, but its IPA-ICF wrapper had no address-bearing subprogram DIE. With the change, GDB can now see the function when minsyms=False and set a breakpoint on it.
This is the behavior PR debug/126355 was intended to restore, so the result also provides useful confirmation that the GCC fix is effective.
The failure comes from py-rbreak.exp using the unanchored regexp "func.*". It now also matches the "ifunc" suffix of _dl_relocate_static_pie_ifunc, changing the result from nine breakpoints to ten. GDB, glibc, binutils and Linux are unchanged between the two builds; the GCC revisions are this commit and its immediate parent.
Changing the expected count to ten would make the test depend on the target startup objects. A more robust fix would be to narrow the two unscoped regexp uses in the exact-count and throttle checks, for example to "^e?func.*", so that they only select functions defined by the test.
I therefore do not think this is a GCC regression. It looks like the GDB test needs to be made more specific.
ci_notify@linaro.org 于2026年8月24日周一 11:47写道:
Dear contributor,
Our automatic CI has detected problems related to your patch(es). Please find some details below.
In aarch64 native, after: | commit gcc-17-3278-gb6477e6c4ef | Author: Longjun Luo luolongjuna@gmail.com | Date: Thu Jul 23 00:01:50 2026 +0800 | | debug/126355 - preserve debug info for IPA ICF wrappers | | When IPA ICF keeps a distinct symbol for an address-taken function by | replacing its body with a wrapper, cgraph_node::create_wrapper reuses the | original function declaration and its early debug DIE. | ... 28 lines of the commit log omitted.
Produces 1 regression: | | regressions.sum: | Running gdb:gdb.python/py-rbreak.exp ... | FAIL: gdb.python/py-rbreak.exp: check number of returned breakpoints is 9
Used configuration : *CI config* tcwg_gnu_native_check_gdb aarch64-linux-gnu *configure and test flags:* none, autodetected on aarch64-unknown-linux-gnu--disable-multilib --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --with-arch=armv8-a
We track this bug report under https://linaro.atlassian.net/browse/GNU-2005. (Require Linaro login) Please let us know if you have a fix.
If you have any questions regarding this report, please ask on linaro-toolchain@lists.linaro.org mailing list.
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below contains the details of the failures, and the ways to reproduce a debug environment:
You can find the failure logs in *.log.1.xz files in
http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-bui... The full lists of regressions and improvements as well as configure and make commands are in
http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-bui... The list of [ignored] baseline and flaky failures are in
http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-bui...
Current build : http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-bui... Reference build : http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-bui...
Instruction to reproduce the build : https://gitlab.com/LinaroLtd/tcwg/ci/interesting-commits/-/raw/master/gcc/sh...
Full commit : See in git+ssh://linaroci@gcc.gnu.org/git/gcc.git
linaro-toolchain@lists.linaro.org