diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-15 18:24:54 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-15 18:24:54 +0100 |
| commit | 69e6fe89fa9baafeca3e3515bb50897cd8ee7c35 (patch) | |
| tree | 489046ce167b8b20d205f87f4ae1f4b680c19b43 /lib/libc/include/libc.h | |
| parent | 0d5bffe9d2caadc1215c875e560c52bca5161c54 (diff) | |
Add getauxval and cleanup libc startup
Diffstat (limited to 'lib/libc/include/libc.h')
| -rw-r--r-- | lib/libc/include/libc.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/libc/include/libc.h b/lib/libc/include/libc.h index 6f233d35..87d4e88f 100644 --- a/lib/libc/include/libc.h +++ b/lib/libc/include/libc.h @@ -1,24 +1,25 @@ #ifndef __LIBC_LIBC_H #define __LIBC_LIBC_H +#include <stddef.h> #include <stdatomic.h> -#define likely(x) __builtin_expect(!!(x), 1) -#define unlikely(x) __builtin_expect(!!(x), 0) -#define __unused __attribute__((unused)) -#define aligned(type) __attribute__((aligned(__alignof__(type)))) -#define weak_reference(old, new) \ - extern __typeof(old)((new)) __attribute__((__weak__, __alias__(#old))) +#define weak_reference(old, new) extern __typeof(old)((new)) __attribute__((__weak__, __alias__(#old))) + +struct libc { + size_t auxv[32]; -static struct libc { enum { LIBC_ENVP_TOUCHED = 1 << 0, } flags; + struct { volatile atomic_flag abort; volatile atomic_flag malloc; volatile atomic_flag environ; } lock; -} libc = { .lock = { ATOMIC_FLAG_INIT, ATOMIC_FLAG_INIT, ATOMIC_FLAG_INIT } }; +}; + +extern struct libc __libc; #endif |
