Re: RISC-V ABI issue with ULEB128

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 2, 2024 at 3:54 PM Florian Weimer <fweimer@xxxxxxxxxx> wrote:
>
> * David Abdurachmanov:
>
> > On Tue, Jan 2, 2024 at 1:09 PM Richard W.M. Jones <rjones@xxxxxxxxxx> wrote:
> >>
> >>
> >> I'm not sure exactly the effect on RISC-V binaries, but I wanted to
> >> raise it here to get the attention of the Fedora toolchain team ...
> >>
> >> Here's the bug:
> >>
> >> https://sourceware.org/bugzilla/show_bug.cgi?id=31179
> >> RISC-V: The SET/ADD/SUB fix breaks ABI compatibility with 2.41 objects
> >>
> >> It refers to this change in binutils 2.41:
> >>
> >> https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=73d931e560059a87d76f528fafbb4270a98746bc
> >>
> >> As far as I understand the issue (which is not too far) this mainly
> >> affects shipped *.o and *.a files (ie. static libraries and similar)
> >> which were compiled with binutils < 2.41, which either won't link
> >> correctly or will give a linker error when using GNU ld from binutils 2.41.
> >
> > Correction. This is broken in <= 2.41 (incl. the current stable
> > binutils release).
> >
> >>
> >> Unclear if it also affects *.so files (which would be a much more
> >> serious ABI break), and also if it affects most binaries or just a
> >> few.  I initially thought this only affected programs using 128 bit
> >> ints, so didn't think it was too important, but after reading the
> >> commit I'm not sure that is really true.
> >
> > Nelson Chu committed (5 days ago) a change:
> >
> > https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=73d931e560059a87d76f528fafbb4270a98746bc
> >
> > This will accept whatever is produced by <= 2.41 and the final binary
> > will be correct. There is also a new ld flag (--check-uleb128) which
> > can produce a warning if it detects an issue.
> >
> > I plan/hope to use binutils 2.42 in Fedora/RISCV 40. That would happen
> > before I start mass rebuilding, and that should fix this.
>
> Cc:ing Nick and Siddhesh for awareness.
>
> The current plan is to use binutils 2.41 for the mass rebuild.

In Fedora/RISCV we typically end up using the latest available
binutils. We are slightly different from upstream/normal Fedora.

Cheers,
david

>
> Thanks,
> Florian
>
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux