On 6/25/2026 1:36 AM, Jim Lin wrote:
riscv_multi_lib_info_t::parse received the raw multilib path string
(e.g. ".::riscv64-linux-gnu" on a native build) and compared it against
".". Because the raw string still carries the multi_os_dir suffix, the
comparison failed, the default arch/abi branch was skipped, and arch_str
and abi_str were left empty. The empty arch_str then flowed into
riscv_subset_list::parse.
multi_lib_info->path is already truncated at the first ':' to just the
path component, so use it instead of passing the raw string.
gcc/common/config/riscv/
PR target/125853
* riscv-common.cc (riscv_multi_lib_info_t::parse): Remove the path
parameter and compare multi_lib_info->path against "." instead.
(riscv_compute_multilib): Update caller.
This passed bootstrap on the k3 and c920 systems overnight and I've
pushed it to the trunk after re-instating the smart multilib match patch.
Thanks!
jeff