-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tracking: Towards full LLVM (no gnu toolchain) builds #19642
Comments
If the long term goal is to completely get rid of GNU toolchains, IMO we should also not forget that right now a number of modules & packages won't build at all with LLVM. As a step into the direction we could first aim for re-enabling LLVM builds in the CI and eventually all boards & apps build with LLVM, and only a subset with GCC as well. In addition, some platforms are not supported by LLVM yet. I think that clang 16 is now indeed able to build RIOT against a patched version For ESP there is downstream LLVM support. I bet that we will end up replacing magic GCC binaries from Espressif with magic clang binaries from Espressif for those MCUs 😢 |
hm, but the "specs" only do things like "replace -lc with -lc_nano". In the RIOT case, just doing "-lc_nano" instead of "-lc --specs=nano.specs" would save bytes in the Makefiles and work for all linkers. (Why do we support non-newlib-nano builds in the first place?) |
Lazy FPU Save/Restore (CVE-2018-3665) - Red Hat Customer Portal might be conected to that llvm not saving fpu bug maybe some fences in out tramp.S might help might be connected to some kernel version/flags and cpu generation |
lets connect #18851 |
Related: picolibc/picolibc#803 |
oh, picolibc is also happy to use llvm's ABI support library that replaces libgcc. I've got several CI tests which don't use any gcc bits. |
Do you mean LLVM's "compiler-rt" library (https://github.com/llvm/llvm-project/tree/main/compiler-rt)? |
Yeah, that's the one -- I'd forgotten the name. |
Description
Currently, RIOT has limited LLVM support - it allows compiling with LLVM. Linking is still using the gnu toolchain.
Also, our libcs (newlib, picolibc) are gcc compiles, and thus depend on libgcc.
Those dependencies have several drawbacks:
This is issue will track work necessary for LLVM-only builds.
The text was updated successfully, but these errors were encountered: