[PATCH v1 0/1] Update rtems-llvm to version 11.1.0

Hesham Almatary heshamelmatary at gmail.com
Mon Feb 13 15:19:08 UTC 2023


On Mon, 13 Feb 2023 at 12:12, <Jan.Sommer at dlr.de> wrote:
>
> > -----Original Message-----
> > From: Joel Sherrill <joel at rtems.org>
> > Sent: Freitag, 10. Februar 2023 15:21
> > To: Sommer, Jan <Jan.Sommer at dlr.de>
> > Cc: devel at rtems.org
> > Subject: Re: [PATCH v1 0/1] Update rtems-llvm to version 11.1.0
> >
> >
> >
> > On Fri, Feb 10, 2023 at 3:16 AM Jan Sommer <jan.sommer at dlr.de
> > <mailto:jan.sommer at dlr.de> > wrote:
> >
> >
> >       Hello,
> >
> >       I couldn't get the rtems-llvm buildset to work.
> >       As it was building llvm8 which is not that modern, I just tried to build
> >       a more recent version with the scripts.
> >       It works with llvm11. Are there any objections to updating?
> >
> >
> >
> > Nope. Please feel free to add this.
> >
> >
> >       And should we keep the rtems-llvm-8.cfg or should I remove this
> > with
> >       this patch?
> >
> >
> >
> >  My main concern is if the architectures that built with llvm 8 still build with
> > llvm 11. I think that's only SPARC and RISC-V. Are there others?
> >
Why not the latest LLVM (especially to pick up the latest RISC-V
fixes/support). I am not sure how mature the RISC-V support is in LLVM
8, if it was supported at all.

> > I guess that points to me not knowing the list of architectures that are
> > expected to work. I wonder where we would keep this information. Any
> > thoughts?
> >
>
> Thanks for the information.
> I tried to build those to check if they still work and failed, but given that the information I could find is sparse I could very well be the problem.
> What I did is:
> - Build the gcc toolchains for sparc and riscv (as far as I understand we need the binutils and libc from that)
I haven't tried doing that for RISC-V. I used to build newlib
manually, and not rely on GCC/binutils.

> - Build the rtems-llvm build set
> - Generate a config for waf using: ./waf bspdefaults --rtems-bsps='sparc/gr712rc' --rtems-compiler=clang > sparc.cfg
> - Configure the build with the config: ./waf configure --rtems-config=sparc.cfg -$INSTALL_DIR
> - Run ./waf
> - I also tried with some riscv BSPs with the same results.
>
> The build fails with missing std headers (stddef.h).
> Looking at the generated config file there are only small differences to the one for gcc (essentially the compiler name changed to clang).
> And the verbose output confirms that the gcc toolchain is not part of the include paths.
> I didn't find an obvious option in "waf configure" to add this.
I added [1] an option for "sysroot" in the old build system so that
Clang could find the C library. I don't think that was integrated in
waf. However, I was also using CHERI-based LLVM with a modified Driver
so that it automatically fetches the C library (after it gets manually
built and installed under a convenient LLVM) related to the LLVM
install path.

[1] https://github.com/RTEMS/rtems/commit/94481cedc4165f6a49ef5287098251740922fee1

> If you say that building worked only for few BSPs. Do you remember which ones and if there was some magic to do first?
> Then I could try to reproduce this with the llvm11 compiler.
I don't think they'll build as is without a few modifications to the
build system. Simplest thing to do is to use GCC's libgcc and newlib
and add a "sysroot" or "-L -I" options to the current build system for
them.

>
> Best regards,
>
>     Jan
>
> > --joel
> >
> >
> >       Have a nice weekend,
> >
> >           Jan
> >
> >       Jan Sommer (1):
> >         rtems-tools: Update rtems-llvm to version 11.1.0
> >
> >        rtems/config/6/rtems-llvm.bset           |  2 +-
> >        rtems/config/tools/rtems-llvm-11.1.0.cfg | 21
> > +++++++++++++++++++++
> >        source-builder/config/llvm-common-1.cfg  |  6 +++---
> >        3 files changed, 25 insertions(+), 4 deletions(-)
> >        create mode 100644 rtems/config/tools/rtems-llvm-11.1.0.cfg
> >
> >       --
> >       2.25.1
> >
> >       _______________________________________________
> >       devel mailing list
> >       devel at rtems.org <mailto:devel at rtems.org>
> >       http://lists.rtems.org/mailman/listinfo/devel
> >
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel



-- 
Regards,
Hesham


More information about the devel mailing list