summaryrefslogtreecommitdiff
path: root/lib/libc/include
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/include')
-rw-r--r--lib/libc/include/__dirent.h3
-rw-r--r--lib/libc/include/__stdio.h10
-rw-r--r--lib/libc/include/__thread.h (renamed from lib/libc/include/thread.h)0
-rw-r--r--lib/libc/include/atomic.h4
-rw-r--r--lib/libc/include/libc.h10
-rw-r--r--lib/libc/include/malloc.h10
6 files changed, 16 insertions, 21 deletions
diff --git a/lib/libc/include/__dirent.h b/lib/libc/include/__dirent.h
index 9b23c9d2..4f9ead80 100644
--- a/lib/libc/include/__dirent.h
+++ b/lib/libc/include/__dirent.h
@@ -1,10 +1,9 @@
#ifndef __LIBC_DIRENT_H
#define __LIBC_DIRENT_H
-#include <libc.h>
+#include <stdint.h>
#include <stdio.h>
#include <sys/types.h>
-#include <stdint.h>
struct linux_dirent64 {
uint64_t d_ino;
diff --git a/lib/libc/include/__stdio.h b/lib/libc/include/__stdio.h
index ebda4b22..487a0382 100644
--- a/lib/libc/include/__stdio.h
+++ b/lib/libc/include/__stdio.h
@@ -1,12 +1,12 @@
-#ifndef __LIBC_IO
-#define __LIBC_IO
+#ifndef __LIBC_STDIO_H__
+#define __LIBC_STDIO_H__
+#include <stdatomic.h>
#include <stddef.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
-#include <stdint.h>
#include <sys/types.h>
-#include <stdatomic.h>
typedef __SIZE_TYPE__ size_t;
@@ -31,6 +31,8 @@ struct __FILE {
struct __FILE *next;
};
+#define __FILE(__stream) ((struct __FILE *)(__stream))
+
void __libc_fadd(struct __FILE *f);
#endif
diff --git a/lib/libc/include/thread.h b/lib/libc/include/__thread.h
index 662f1dc1..662f1dc1 100644
--- a/lib/libc/include/thread.h
+++ b/lib/libc/include/__thread.h
diff --git a/lib/libc/include/atomic.h b/lib/libc/include/atomic.h
index 94cd34db..e0593021 100644
--- a/lib/libc/include/atomic.h
+++ b/lib/libc/include/atomic.h
@@ -3,8 +3,8 @@
#include <stdatomic.h>
-#define LIBC_LOCK(__lock) __libc_lock(&__lock)
-#define LIBC_UNLOCK(__lock) atomic_flag_clear(&__lock)
+#define LIBC_LOCK(__lock) __libc_lock(&((__lock)))
+#define LIBC_UNLOCK(__lock) atomic_flag_clear(&((__lock)))
static __inline void __libc_lock(volatile atomic_flag *lock)
{
diff --git a/lib/libc/include/libc.h b/lib/libc/include/libc.h
index 6651feaa..6f233d35 100644
--- a/lib/libc/include/libc.h
+++ b/lib/libc/include/libc.h
@@ -2,21 +2,15 @@
#define __LIBC_LIBC_H
#include <stdatomic.h>
-#include <features.h>
-
-#include <__stdio.h>
-#include <thread.h>
-
-#define __IMPL(_v) ((__##typeof(_v))_v)
#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)))
+ extern __typeof(old)((new)) __attribute__((__weak__, __alias__(#old)))
-static struct {
+static struct libc {
enum {
LIBC_ENVP_TOUCHED = 1 << 0,
} flags;
diff --git a/lib/libc/include/malloc.h b/lib/libc/include/malloc.h
index ba2755b0..b7cb0093 100644
--- a/lib/libc/include/malloc.h
+++ b/lib/libc/include/malloc.h
@@ -1,9 +1,8 @@
#ifndef __LIBC_MALLOC_H
#define __LIBC_MALLOC_H
-#include <stddef.h>
-#include <stdint.h>
#include <stdatomic.h>
+#include <stdint.h>
struct class {
uint32_t size;
@@ -47,11 +46,12 @@ extern struct page *__malloc_pvec;
#define LARGE_PAGE_MASK (~((uintptr_t)LARGE_PAGE_SIZE - 1))
#define SMALL_CLASS(n) \
- { (n * 16), (SMALL_PAGE_SIZE - sizeof(struct page)) / (n * 16) }
+ { (((n)) * 16), (SMALL_PAGE_SIZE - sizeof(struct page)) / (((n)) * 16) }
#define MEDIUM_CLASS(n) \
- { (n * 16), (MEDIUM_PAGE_SIZE - sizeof(struct page)) / (n * 16) }
+ { (((n)) * 16), \
+ (MEDIUM_PAGE_SIZE - sizeof(struct page)) / (((n)) * 16) }
#define LARGE_CLASS(n) \
- { (n * 16), (LARGE_PAGE_SIZE - sizeof(struct page)) / (n * 16) }
+ { (((n)) * 16), (LARGE_PAGE_SIZE - sizeof(struct page)) / (((n)) * 16) }
static const struct class global_size_class[] = {
SMALL_CLASS(1), SMALL_CLASS(1), SMALL_CLASS(2),