RISC-V: Follow-up patch series for conflicting ISA strings
Ethan Liang provides a link to a new patch series addressing the RISC-V ISA string conflict issue.
Ethan Y. C. Liang states that a new patch series has been sent to address the issue of conflicting RISC-V ISA strings during linking. This follow-up aims to resolve the problem he previously raised, where the linker did not check for conflicting extensions when merging ISA strings.
- proposer
Acknowledges the memory leak concern and provides a link to a new patch series that addresses it.
“Yep, you're right. I've already sent another patch series to address this: https://sourceware.org/pipermail/binutils/2026-July/150010.html”
- reviewer
Raises a concern about potential memory leaks in the initial patch.
“The question I have is don't we possibly leak memory for various objects allocated by riscv_parse_subset and its children and stored into the subsets and perhaps other fields of riscv_rps_merged?”
In Details
This discussion concerns a follow-up to a patch that added ISA string conflict checking to the RISC-V linker. The original patch introduced a memory leak in error paths, which this new series aims to fix. The context is the BFD and linker subsystem's handling of RISC-V architecture attributes.
- ISA string
- A string representing the instruction set architecture (ISA) extensions supported by a RISC-V processor or compilation target. For example, 'rv64i_zfinx' or 'rv64if'.
- linker
- A program that combines object files and libraries into an executable program or another object file. In binutils, this is typically the
ldcommand. - BFD
- Binary File Descriptor library. A low-level library used by Binutils to handle various object file formats.