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.

<[email protected]> 于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 <[email protected]>
>   | 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
> [email protected] 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-build/builds/10159/archive/artifacts/00-sumfiles/
> 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-build/builds/10159/archive/artifacts/notify/
> The list of [ignored] baseline and flaky failures are in
>  *
> http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-build/builds/10159/archive/artifacts/sumfiles/xfails.xfail
>
> Current build   :
> http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-build/builds/10159/archive/artifacts/
> Reference build :
> http://54.172.246.49:9090/jobs/tcwg_gnu_native_check_gdb--master-aarch64-build/builds/10158/archive/artifacts/
>
> Instruction to reproduce the build :
> https://gitlab.com/LinaroLtd/tcwg/ci/interesting-commits/-/raw/master/gcc/sha1/b6477e6c4efd6df2719190cb048cf300ff31af46/tcwg_gnu_native_check_gdb/master-aarch64/reproduction_instructions.txt
>
> Full commit : See in git+ssh://[email protected]/git/gcc.git

Reply via email to