From: Nick Desaulniers <[email protected]>
To: Willy Tarreau <[email protected]>
Cc: Linux Kernel Mailing List <[email protected]>,
"GNU/Weeb Mailing List" <[email protected]>,
[email protected]
Subject: Re: [RFC PATCH v2 2/8] tools/nolibc: Remove .global _start from the entry point code
Date: Tue, 22 Mar 2022 11:38:13 -0700 [thread overview]
Message-ID: <CAKwvOdm1mVvVN1+c3gJEDz+__FF_yW484j8z7a+k=JVHC4FcKw@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
On Tue, Mar 22, 2022 at 11:24 AM Willy Tarreau <[email protected]> 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
next prev parent reply other threads:[~2022-03-22 18:38 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-22 10:21 [RFC PATCH v2 0/8] Add dynamic memory allocator support for nolibc Ammar Faizi
2022-03-22 10:21 ` [RFC PATCH v2 1/8] tools/nolibc: x86-64: Update System V ABI document link Ammar Faizi
2022-03-22 10:21 ` [RFC PATCH v2 2/8] tools/nolibc: Remove .global _start from the entry point code Ammar Faizi
2022-03-22 17:09 ` Nick Desaulniers
2022-03-22 17:25 ` Willy Tarreau
2022-03-22 17:30 ` Nick Desaulniers
2022-03-22 17:58 ` Willy Tarreau
2022-03-22 18:07 ` Nick Desaulniers
2022-03-22 18:24 ` Willy Tarreau
2022-03-22 18:38 ` Nick Desaulniers [this message]
2022-03-22 10:21 ` [RFC PATCH v2 3/8] tools/nolibc: i386: Implement syscall with 6 arguments Ammar Faizi
2022-03-22 10:57 ` David Laight
2022-03-22 11:23 ` Willy Tarreau
2022-03-22 11:39 ` David Laight
2022-03-22 12:02 ` Ammar Faizi
2022-03-22 12:07 ` Ammar Faizi
2022-03-22 12:13 ` Willy Tarreau
2022-03-22 13:26 ` Ammar Faizi
2022-03-22 13:34 ` Willy Tarreau
2022-03-22 13:37 ` Ammar Faizi
2022-03-22 13:39 ` David Laight
2022-03-22 13:41 ` Willy Tarreau
2022-03-22 13:45 ` Ammar Faizi
2022-03-22 13:54 ` Ammar Faizi
2022-03-22 13:56 ` Ammar Faizi
2022-03-22 14:02 ` Willy Tarreau
2022-03-22 13:37 ` David Laight
2022-03-22 14:47 ` Alviro Iskandar Setiawan
2022-03-22 15:11 ` David Laight
2022-03-23 6:29 ` Ammar Faizi
2022-03-23 6:32 ` Ammar Faizi
2022-03-23 7:10 ` Willy Tarreau
2022-03-22 10:21 ` [RFC PATCH v2 4/8] tools/nolibc/sys: Implement `mmap()` and `munmap()` Ammar Faizi
2022-03-22 10:21 ` [RFC PATCH v2 5/8] tools/nolibc/types: Implement `offsetof()` and `container_of()` macro Ammar Faizi
2022-03-22 10:21 ` [RFC PATCH v2 6/8] tools/nolibc/stdlib: Implement `malloc()`, `calloc()`, `realloc()` and `free()` Ammar Faizi
2022-03-22 11:52 ` David Laight
2022-03-22 12:18 ` Ammar Faizi
2022-03-22 12:36 ` Alviro Iskandar Setiawan
2022-03-22 12:42 ` Ammar Faizi
2022-03-22 12:21 ` Willy Tarreau
2022-03-22 10:21 ` [RFC PATCH v2 7/8] tools/nolibc/string: Implement `strnlen()` Ammar Faizi
2022-03-22 10:21 ` [RFC PATCH v2 8/8] tools/include/string: Implement `strdup()` and `strndup()` Ammar Faizi
2022-03-22 11:27 ` [RFC PATCH v2 0/8] Add dynamic memory allocator support for nolibc Willy Tarreau
2022-03-22 12:43 ` Ammar Faizi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKwvOdm1mVvVN1+c3gJEDz+__FF_yW484j8z7a+k=JVHC4FcKw@mail.gmail.com' \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox