[PATCH 0/9] DWARF Register Number Handling, Including RISC-V CSRs

Alan Modra amodra@gmail.com
Mon Nov 25 11:53:00 GMT 2019


On Fri, Nov 22, 2019 at 12:10:24PM +0000, Andrew Burgess 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.

This all looks reasonable to me.  One nit: binutils generally uses
tabs to indent.  Please fix that before committing.  (Of course,
testsuite .d and similar can use spaces to match output!)

I find the following in my .git/config helps me avoid whitespace
errors:

[core]
	whitespace = indent-with-non-tab,space-before-tab,trailing-space

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list