Hi, On Fri, Nov 25, 2022 at 05:29:19PM +0100, Martin Liška wrote: > On 10/13/22 16:53, Mark Wielaard wrote: > > On Wed, 2022-08-10 at 11:27 +0200, Andreas Schwab via Elfutils-devel > > wrote: > >> This does not work yet. The RISC-V attribute tags use the same > >> convention as the GNU attributes: odd numbered tags take a string > >> value, > >> even numbered ones an integer value, but print_attributes assumes the > >> ARM numbering scheme by default for non-GNU attributes. > > > > Yeah, I see this comment in print_attributes: > > > > /* GNU style tags have either a uleb128 value, > > when lowest bit is not set, or a string > > when the lowest bit is set. > > "compatibility" (32) is special. It has > > both a string and a uleb128 value. For > > non-gnu we assume 6 till 31 only take ints. > > XXX see arm backend, do we need a separate > > hook? */ > > > > Maybe we need a flag in the backend to tell whether attributes follow > > the "gnu_vendor" convention? So that could be checked at: > > > > bool gnu_vendor = (q - name == sizeof "gnu" > > && !memcmp (name, "gnu", sizeof "gnu")); > > gnu_vendor |= ebl->has_gnu_attributes; > > > > Or something similar? > > Andreas: Can you please take a look at this?
Has anybody had time to look at this? Thanks, Mark