[PATCH] tools/nolibc: add stdbool.h header

Thomas Weißschuh posted 1 patch 1 month, 2 weeks ago
tools/include/nolibc/Makefile  |  1 +
tools/include/nolibc/nolibc.h  |  3 ++-
tools/include/nolibc/stdbool.h | 16 ++++++++++++++++
3 files changed, 19 insertions(+), 1 deletion(-)
[PATCH] tools/nolibc: add stdbool.h header
Posted by Thomas Weißschuh 1 month, 2 weeks ago
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>

Re: [PATCH] tools/nolibc: add stdbool.h header
Posted by Thomas Weißschuh 1 month, 1 week ago
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 */
Re: [PATCH] tools/nolibc: add stdbool.h header
Posted by Willy Tarreau 1 month, 2 weeks ago
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