Re: [PATCH v2 2/2] Propagate NT_RISCV_VECTOR from Linux kernel headers to binutils. The value is identical to pre-existing NT_RISCV_CSR but the note names different (NT_RISCV_CSR is "GDB" and NT_RISCV_VECTOR is "CORE")

Palmer Dabbelt
2023-08-12T00:51:15Z

On Fri, 11 Aug 2023 17:47:29 PDT (-0700), jhb@FreeBSD.org wrote:
> On 8/11/23 9:43 AM, Palmer Dabbelt wrote:
>> On Fri, 11 Aug 2023 05:51:45 PDT (-0700), Andrew Burgess wrote:
>>> Greg Savin via Gdb-patches <gdb-patches@sourceware.org> writes:
>>>
>>>> ---
>>>> include/elf/common.h | 2 ++
>>>> 1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/include/elf/common.h b/include/elf/common.h
>>>> index e7eede23a07..d28f5c6ccf5 100644
>>>> --- a/include/elf/common.h
>>>> +++ b/include/elf/common.h
>>>> @@ -715,6 +715,8 @@
>>>> /* note name must be "CORE". */
>>>> #define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */
>>>> /* note name must be "GDB". */
>>>> +#define NT_RISCV_VECTOR 0x900 /* RISC-V Vector Registers */
>>>> + /* note name must be "CORE". */
>>>
>>> I'm not a binutils maintainer, but do have an interest from the
>>> RISC-V/GDB side.
>>>
>>> Given the comments you made in an earlier mail, I guess we're going to
>>> have to restructure some of the core file support in order to handle
>>> NT_RISCV_CSR and NT_RISCV_VECTOR having the same values. But that
>>> should be doable.
>>>
>>> No objections to this patch from me.
>>
>> NT_RISCV_VECTOR isn't in a releasted kernel, so it's not a stable uABI
>> yet. So there's still time to change it. 0I've got a revert on the
>> kernel lists, it'd mean we miss 6.5 but we'd just end up in 6.6 which
>> isn't so bad.
>
> While it is possible to handle colliding NT_RISCV_* values, it will probably
> be simpler all-around if you are able to make NT_RISCV_VECTOR be 0x901 since
> you are going to revert and redo.

Ya, that'd be part of the reason to backport it, there's also one or two
other bugs we found so it's probably just a good sign this wasn't
adequately reviewed. Here's the Linux patch
<https://lore.kernel.org/all/20230810214810.21905-1-palmer@rivosinc.com/>