Go to file
eabdullin e1100f770a riscv64: guard _Sp_counted_ptr<nullptr_t>::_M_dispose, list all stale entries
Build 76113 got riscv64 past _M_release_last_use_cold and stopped on the
next entry of the same kind:

    hidden symbol `_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE
    10_M_disposeEv' isn't defined

Guard it on !__riscv in the three files that assert it, same as before.

ld reports only the first undefined hidden symbol and then aborts, so every
stale entry costs a full riscv64 build -- about two days each. The spec
already runs exactly the right query,

    readelf -Ws ...libstdc++_nonshared%{nonsharedver}.a | grep HIDDEN.*UND

but only after the link that fails, so its output never appears. Run it up
front as well, right after entering libstdc++_compat_test. It ends in
"|| :" and cannot fail the build, and it makes the next build report every
remaining entry at once instead of one per attempt.

Local reproduction is not a substitute here: a small shared_ptr test does
show riscv64 omitting _M_release_last_use_cold where aarch64 emits it, but
it does not instantiate _Sp_counted_ptr<nullptr_t>::_M_dispose on either
arch, so which symbols a real nonshared TU emits can only be read off the
build itself.
2026-08-20 11:02:22 +03:00
files riscv64: guard _Sp_counted_ptr<nullptr_t>::_M_dispose, list all stale entries 2026-08-20 11:02:22 +03:00
config.yaml riscv64: guard _Sp_counted_ptr<nullptr_t>::_M_dispose, list all stale entries 2026-08-20 11:02:22 +03:00