Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 2 Nov 2020 09:04:16 +0100
From: Szabolcs Nagy <>
To: Chen Wang <>
Cc: musl <>
Subject: Re: [Question] some questions about kernel header files for musl?

* Chen Wang <> [2020-11-02 15:44:38 +0800]:
> hi, I'm a newbie learning msul, I have some questions about kernel header files for musl. Appreciated if anybody can answer my quesitons, thanks in adv.
> Q1) What's the rule to pick up kernel header files for musl? Do we need to catch up the latest kernel when the kernel is upgraded? What version of kernel is musl currently in usage?

musl can be built without linux headers.

you can use whatever linux version to build your toolchain,
but recent ones (e.g. linux v5.*) will have less issues when
libc and linux headers are included together in some code.

> Q2) I see duplicated headers files in different folders, for example: unistd.h, I see it under both "include/unistd.h" and "src/include/unistd.h". Why we need multiple copies? Are they used for different purpose?

src/* is musl internal, it is only used for building musl.

> Q3) For different arch, such as arm/x86/riscv, do they share the same kernel header files? I double checked android bionic and found it has different kernel header files for differnet arch.

musl does not use linux headers. it uses its own
target specific definitions see arch/*/bits/*.h,
an installed header set is only valid for one arch
because the bits/ directory is arch specific.

linux headers are similar: different targets cannot
share the same headers because the asm/ directory
is arch specific.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.