On 10/13/22 16:53, Mark Wielaard wrote: > Hi Andreas, > > 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? Martin > > Cheers, > > Mark