binutils Newspaper
JULY 29, 2026
risc-v Proposed

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.

In the Thread 2 participants
  1. "Ethan Y. C. Liang" <yclwlcy@gmail.com> 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”
  2. Jeffrey Law <jeffrey.law@oss.qualcomm.com> 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.

For Context
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 ld command.
BFD
Binary File Descriptor library. A low-level library used by Binutils to handle various object file formats.
Filed Under: risc-vlinkerisamemory leak