This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 0/9] DWARF Register Number Handling, Including RISC-V CSRs
- From: Nelson Chu <nelson dot chu at sifive dot com>
- To: Andrew Burgess <andrew dot burgess at embecosm dot com>
- Cc: Binutils <binutils at sourceware dot org>, Jim Wilson <jimw at sifive dot com>, Palmer Dabbelt <palmerdabbelt at google dot com>
- Date: Mon, 25 Nov 2019 18:10:08 +0800
- Subject: Re: [PATCH 0/9] DWARF Register Number Handling, Including RISC-V CSRs
- References: <cover.1574423265.git.andrew.burgess@embecosm.com>
Dear Andrew,
Thanks for your contribution, these patches looks good to me :)
There are three things after applying these patches.
1. I get the conflict when applying the fourth patch (binutils: Add a
new function to initialise DWARF register name state), this might be
caused by the GNU coding standards.
2. After running the binutils testsuite, the ld-elf/eh5 of ld-elf
testsuite failed, but it passes originally.
3. I agree with palmer's suggestion that spit out "csr%d" is more
clear to understand.
Thanks again, and also thanks for palmer's review :)
Best regards
Nelson
On Fri, Nov 22, 2019 at 8:10 PM Andrew Burgess
<andrew.burgess@embecosm.com> wrote:
>
> The aim of this series is to provide support for using RISC-V CSRs
> (Control Status Registers) in gas .cfi directives. The problem with
> this is that the DWARF register numbers for these registers are rather
> large, in the range 4096 - 8191, and the number space is only sparsely
> populated. The existing code for mapping DWARF register numbers to
> names is not really setup to handle this situation, and additionally,
> the default DWARF CIE version that gas uses only has a single byte
> return address column, which is overflowed by these CSRs.
>
> This series starts with some general code clean up (I think) in the
> area around DWARF register number handling, introduces a new mechanism
> for mapping from DWARF register numbers to names, and then adds
> support for RISC-V CSRs. Finally I make DWARF CIE version 3 the
> default for RISC-V, this should be largely invisible to consumers,
> except the return address column is now uleb128 instead of ubyte.