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

Reply via email to