https://gcc.gnu.org/g:36acd0cc9bbbab875238a7d186577f19964d471f
commit 36acd0cc9bbbab875238a7d186577f19964d471f Author: YunQiang Su <s...@gcc.gnu.org> Date: Thu Sep 5 19:55:20 2024 +0800 RISC-V: Fix out of index in riscv_select_multilib_by_abi commit b5c2aae48723c9098a8a3dab1409b30fd87bbf56 Author: YunQiang Su <yunqi...@isrc.iscas.ac.cn> Date: Thu Sep 5 15:14:43 2024 +0800 RISC-V: Lookup reversely in riscv_select_multilib_by_abi The last element should use index multilib_infos.size () - 1 gcc * common/config/riscv/riscv-common.cc(riscv_select_multilib_by_abi): Fix out of index problem. (cherry picked from commit ead5f587dad3206e45db7ac31f5c34c1530ae529) Diff: --- gcc/common/config/riscv/riscv-common.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/riscv/riscv-common.cc index 2c1ce7fc7cb..bd42fd01532 100644 --- a/gcc/common/config/riscv/riscv-common.cc +++ b/gcc/common/config/riscv/riscv-common.cc @@ -2079,7 +2079,7 @@ riscv_select_multilib_by_abi ( const std::string &riscv_current_abi_str, const std::vector<riscv_multi_lib_info_t> &multilib_infos) { - for (ssize_t i = multilib_infos.size (); i >= 0; --i) + for (ssize_t i = multilib_infos.size () - 1; i >= 0; --i) if (riscv_current_abi_str == multilib_infos[i].abi_str) return xstrdup (multilib_infos[i].path.c_str ());