Re: Risc-V SIG?

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

 



On Thu, Feb 9, 2023 at 2:24 PM Richard W.M. Jones <rjones@xxxxxxxxxx> wrote:
>
> On Thu, Feb 09, 2023 at 08:06:33AM -0500, Neal Gompa wrote:
> > On Thu, Feb 9, 2023 at 8:01 AM Richard W.M. Jones <rjones@xxxxxxxxxx> wrote:
> > > David is building Fedora 37+ for RISC-V:
> > >
> > > http://fedora.riscv.rocks/koji/
> > >
> >
> > If I remember rightly, this still doesn't build straight from Fedora
> > Dist-Git as not all the RISC-V enablement patches have been upstreamed
> > into Fedora packages.
>
> A small number of packages need to be patched for RISC-V.  You can
> find the dist-git sources for those here (only packages with
> "main-riscv64" branches matter):
>
> http://fedora.riscv.rocks:3000/explore/repos
>
> The aim is to get everything upstream / into Fedora.

Apologies for the slow reply. We do have a dist-git "overlay" that
holds various changes as we build things, or if we need to bump NVR to
rebuild something. We typically add ".X.riscv64" into Release: field
before %{?dist}.

There are two generic issues in Fedora that keep popping up:
- Wrong assumption about valgrind. Those are easy to fix, but are in a
number of places. Note that valgrind upstreaming will happen
relatively soonish too.
- Broken *.pc files in a number of packages. Somehow meson comes up
with wrong paths if *.pc is wrong on riscv64. That's not the case on
other architectures, and might be related to our symlink situations
(/usr/lib64/lpd64 points to /usr/lib64).

There is also an issue in how sub-word atomics are being handled in
riscv64 today. This basically means that packages like to fail
building somewhat sporadically. Basically you must link to libatomic
and GCC SPEC will do that if -pthread is used (this covers most of the
cases, but not all). Also a number of packages don't use -pthread and
just -lpthread. There are patches to improve this, but that's more
likely GCC 14 material now. A quick "fix" (not the best) would be
remove -pthread check and let GCC to attempt linking to libatomic in
all cases (--as-needed -latomic).

/* Because RISC-V only has word-sized atomics, it requries libatomic where
   others do not.  So link libatomic by default, as needed.  */
#undef LIB_SPEC
#ifdef LD_AS_NEEDED_OPTION
#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC \
  " %{pthread:" LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION "}"
#else
#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC " -latomic "
#endif

There are other bits like the audit library that so far the upstream
maintainer didn't want to merge.

It would be nice to handle dist-git stuff this year, especially in
Fedora 38 / 39 timeframe.

We also deviate from the original Fedora too. We are using newer
binutils versions compared to what's in Fedora proper. Our Fedora 37
was built binutils 2.39. Fedora no longer updates GCC/binutils/glibc
all in one go.

There are future questions that need to be discussed too as we are
finally approaching RISC-V profiles (RVA{20,22,23}). Optimized
packages or/and full repositories and disk images.

Today most communication/announcements happen in Fedora RISC-V Matrix
/ IRC channels.

Cheers,
david

>
> Rich.
>
> --
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming and virtualization blog: http://rwmj.wordpress.com
> libguestfs lets you edit virtual machines.  Supports shell scripting,
> bindings from many languages.  http://libguestfs.org
>
_______________________________________________
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