diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-16 17:02:05 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-16 17:02:05 +0100 |
| commit | 90dad97fc07f049383903a166631e2c257f9b8c1 (patch) | |
| tree | 096cd247ecfda9e46598215a4f32aecedeedda90 /include | |
| parent | 0e832a9329cc4d4647e1ce529846073f21e66991 (diff) | |
Add support for TLS in the libc
Diffstat (limited to 'include')
| -rw-r--r-- | include/elf.h | 10 | ||||
| -rw-r--r-- | include/errno.h | 3 | ||||
| -rw-r--r-- | include/sys/cdefs.h | 3 |
3 files changed, 10 insertions, 6 deletions
diff --git a/include/elf.h b/include/elf.h index 8317c9ca..ea2014a6 100644 --- a/include/elf.h +++ b/include/elf.h @@ -16,6 +16,7 @@ #define PT_NOTE 4 #define PT_SHLIB 5 #define PT_PHDR 6 +#define PT_TLS 7 #define PT_LOOS 0x60000000 #define PT_HIOS 0x6fffffff #define PT_LOPROC 0x70000000 @@ -101,12 +102,13 @@ #define SHT_LOUSER 0x80000000 #define SHT_HIUSER 0xffffffff -#define SHF_WRITE 0x1 -#define SHF_ALLOC 0x2 -#define SHF_EXECINSTR 0x4 +#define SHF_WRITE 0x00000001 +#define SHF_ALLOC 0x00000002 +#define SHF_EXECINSTR 0x00000004 +#define SHF_TLS 0x00000400 #define SHF_MASKPROC 0xf0000000 -#define SHN_UNDEF 0 +#define SHN_UNDEF 0x0000 #define SHN_LORESERVE 0xff00 #define SHN_LOPROC 0xff00 #define SHN_HIPROC 0xff1f diff --git a/include/errno.h b/include/errno.h index 86ef7047..800f9a9b 100644 --- a/include/errno.h +++ b/include/errno.h @@ -1,8 +1,7 @@ #ifndef __ERRNO_H #define __ERRNO_H -#define errno (*__errno()) -extern int *__errno(void) __attribute__((const)); +extern _Thread_local int errno; #define EPERM 1 #define ENOENT 2 diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h index 00e85014..cd490d6b 100644 --- a/include/sys/cdefs.h +++ b/include/sys/cdefs.h @@ -9,6 +9,9 @@ #define __END_DECLS #endif +#define ___STRING(x) #x +#define __STRING(x) ___STRING(x) + #define __dead __attribute__((__noreturn__)) #define __used __attribute__((__used__)) #define __unused __attribute__((__unused__)) |
