tools/include/nolibc/Makefile | 1 + tools/include/nolibc/nolibc.h | 3 ++- tools/include/nolibc/stdbool.h | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-)
stdbool.h is very simple.
Provide an implementation for the user convenience.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
tools/include/nolibc/Makefile | 1 +
tools/include/nolibc/nolibc.h | 3 ++-
tools/include/nolibc/stdbool.h | 16 ++++++++++++++++
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/tools/include/nolibc/Makefile b/tools/include/nolibc/Makefile
index e69c26abe1ea..a1f55fb24bb3 100644
--- a/tools/include/nolibc/Makefile
+++ b/tools/include/nolibc/Makefile
@@ -35,6 +35,7 @@ all_files := \
stackprotector.h \
std.h \
stdarg.h \
+ stdbool.h \
stdint.h \
stdlib.h \
string.h \
diff --git a/tools/include/nolibc/nolibc.h b/tools/include/nolibc/nolibc.h
index 989e707263a4..92436b1e4441 100644
--- a/tools/include/nolibc/nolibc.h
+++ b/tools/include/nolibc/nolibc.h
@@ -74,7 +74,8 @@
* -I../nolibc -o hello hello.c -lgcc
*
* The available standard (but limited) include files are:
- * ctype.h, errno.h, signal.h, stdarg.h, stdio.h, stdlib.h, string.h, time.h
+ * ctype.h, errno.h, signal.h, stdarg.h, stdbool.h stdio.h, stdlib.h,
+ * string.h, time.h
*
* In addition, the following ones are expected to be provided by the compiler:
* float.h, stddef.h
diff --git a/tools/include/nolibc/stdbool.h b/tools/include/nolibc/stdbool.h
new file mode 100644
index 000000000000..709abed93425
--- /dev/null
+++ b/tools/include/nolibc/stdbool.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: LGPL-2.1 OR MIT */
+/*
+ * Boolean types support for NOLIBC
+ * Copyright (C) 2024 Thomas Weißschuh <linux@weissschuh.net>
+ */
+
+#ifndef _NOLIBC_STDBOOL_H
+#define _NOLIBC_STDBOOL_H
+
+#define _Bool bool
+#define true 1
+#define false 0
+
+#define __bool_true_false_are_defined 1
+
+#endif /* _NOLIBC_STDBOOL_H */
---
base-commit: 6ca8f2e20bd1ced8a7cd12b3ae4b1ceca85cfc2b
change-id: 20240725-nolibc-stdbool-15ea482d1b42
Best regards,
--
Thomas Weißschuh <linux@weissschuh.net>
On 2024-07-25 19:10:44+0000, Thomas Weißschuh wrote: > stdbool.h is very simple. > Provide an implementation for the user convenience. > > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> > --- > tools/include/nolibc/Makefile | 1 + > tools/include/nolibc/nolibc.h | 3 ++- > tools/include/nolibc/stdbool.h | 16 ++++++++++++++++ > 3 files changed, 19 insertions(+), 1 deletion(-) <snip> > diff --git a/tools/include/nolibc/stdbool.h b/tools/include/nolibc/stdbool.h > new file mode 100644 > index 000000000000..709abed93425 > --- /dev/null > +++ b/tools/include/nolibc/stdbool.h > @@ -0,0 +1,16 @@ > +/* SPDX-License-Identifier: LGPL-2.1 OR MIT */ > +/* > + * Boolean types support for NOLIBC > + * Copyright (C) 2024 Thomas Weißschuh <linux@weissschuh.net> > + */ > + > +#ifndef _NOLIBC_STDBOOL_H > +#define _NOLIBC_STDBOOL_H > + > +#define _Bool bool For the record: The claim "stdbool.h is very simple" didn't hold up very well. I managed to switch up this #define. I'll fix it up when applying. > +#define true 1 > +#define false 0 > + > +#define __bool_true_false_are_defined 1 > + > +#endif /* _NOLIBC_STDBOOL_H */
On Thu, Jul 25, 2024 at 07:10:44PM +0200, Thomas Weißschuh wrote: > stdbool.h is very simple. > Provide an implementation for the user convenience. > > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Acked-by: Willy Tarreau <w@1wt.eu> Thank you for this one as well! Willy
© 2016 - 2026 Red Hat, Inc.