On Tue, Jan 2, 2024 at 6:26 PM Peter Robinson <pbrobinson(a)gmail.com> wrote:
On Tue, Jan 2, 2024 at 2:05 PM David Abdurachmanov
<david.abdurachmanov(a)gmail.com> wrote:
>
> On Tue, Jan 2, 2024 at 3:54 PM Florian Weimer <fweimer(a)redhat.com> wrote:
> >
> > * David Abdurachmanov:
> >
> > > On Tue, Jan 2, 2024 at 1:09 PM Richard W.M. Jones
<rjones(a)redhat.com> 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=73d931e560059a8...
> > >>
> > >> 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=73d931e560059a8...
> > >
> > > 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.
Which is fine when you're an out of mainline architecture but these
sorts of things need to be resolved well and truly before any
incorporation can happen.
100% true. We have plenty of stuff that isn't yet submitted to the
official dist-git.
I have been considering not going for 2.42 for Fedora 40, but we will
do this again one more time (hopefully it's the last time, but you
never know).
> --
> _______________________________________________
> devel mailing list -- devel(a)lists.fedoraproject.org
> To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct: