Messages in this thread | | | From | Nick Desaulniers <> | Date | Tue, 22 Mar 2022 11:38:13 -0700 | Subject | Re: [RFC PATCH v2 2/8] tools/nolibc: Remove .global _start from the entry point code |
| |
On Tue, Mar 22, 2022 at 11:24 AM Willy Tarreau <w@1wt.eu> wrote: > > What I particularly like is that I don't need a full toolchain, so if > I can build a kernel with the bare-metal compilers from kernel.org then > I know I can also build my initramfs that's packaged in it using the > exact same compiler. This significantly simplifies the build process.
Neat; yeah that coincides a bit with my interest in having builds of llvm on kernel.org; having/needing a libc is a PITA and building a full cross toolchain is also more difficult than I think it needs to be. The libc will depend on kernel headers, for each target. LLVM currently has a WIP libc in its tree; I'm looking for something I can statically link into the toolchain images (even LTO them into the image). Will probably pursue musl (if I ever get time for this, though maybe a project for my summer intern...).
One thing I've been looking at is a utility called llvm-ifs [1]; it can generate .so stubs from a textual description that can be more easily read, diff'ed, and committed. These are much faster to build and reduce the chain of build dependencies (when dynamically linking). Last I checked it had issues with versioned symbols, and I'm not sure if/what it does for headers, which are still needed. Within Android, libabigail is being used to dump+diff xml descriptions of parts of an ABI, it looks like llvm-ifs might be useful for that as well. Not sure if it's interesting but thought I'd share.
[1] https://www.youtube.com/watch?v=_pIorUFavc8 -- Thanks, ~Nick Desaulniers
| |