2023-08-03 07:38:26

by Thomas Weißschuh

[permalink] [raw]
Subject: [PATCH v3 14/14] selftests/nolibc: enable compiler warnings

It will help the developers to avoid cruft and detect some bugs.

Signed-off-by: Thomas Weißschuh <[email protected]>
---
tools/testing/selftests/nolibc/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
index b82d29b6c37f..e8d09cbee2ab 100644
--- a/tools/testing/selftests/nolibc/Makefile
+++ b/tools/testing/selftests/nolibc/Makefile
@@ -79,7 +79,7 @@ endif
CFLAGS_s390 = -m64
CFLAGS_mips = -EL
CFLAGS_STACKPROTECTOR ?= $(call cc-option,-mstack-protector-guard=global $(call cc-option,-fstack-protector-all))
-CFLAGS ?= -Os -fno-ident -fno-asynchronous-unwind-tables -std=c89 \
+CFLAGS ?= -Os -fno-ident -fno-asynchronous-unwind-tables -std=c89 -W -Wall -Wextra \
$(call cc-option,-fno-stack-protector) \
$(CFLAGS_$(ARCH)) $(CFLAGS_STACKPROTECTOR)
LDFLAGS :=

--
2.41.0



2023-08-05 16:27:02

by Willy Tarreau

[permalink] [raw]
Subject: Re: [PATCH v3 14/14] selftests/nolibc: enable compiler warnings

On Thu, Aug 03, 2023 at 09:28:58AM +0200, Thomas Wei?schuh wrote:
> It will help the developers to avoid cruft and detect some bugs.
>
> Signed-off-by: Thomas Wei?schuh <[email protected]>
> ---
> tools/testing/selftests/nolibc/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
> index b82d29b6c37f..e8d09cbee2ab 100644
> --- a/tools/testing/selftests/nolibc/Makefile
> +++ b/tools/testing/selftests/nolibc/Makefile
> @@ -79,7 +79,7 @@ endif
> CFLAGS_s390 = -m64
> CFLAGS_mips = -EL
> CFLAGS_STACKPROTECTOR ?= $(call cc-option,-mstack-protector-guard=global $(call cc-option,-fstack-protector-all))
> -CFLAGS ?= -Os -fno-ident -fno-asynchronous-unwind-tables -std=c89 \
> +CFLAGS ?= -Os -fno-ident -fno-asynchronous-unwind-tables -std=c89 -W -Wall -Wextra \
> $(call cc-option,-fno-stack-protector) \
> $(CFLAGS_$(ARCH)) $(CFLAGS_STACKPROTECTOR)
> LDFLAGS :=

I'm now getting this with gcc < 9:

nolibc-test.c: In function 'test_pipe':
nolibc-test.c:811:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (len != strlen(msg))
^
The reason is that len is ssize_t and strlen() is size_t. I tried different
approaches here but the cleanest remains turning len to size_t (we don't
use its sign anyway), so I'll do that one as well.

Cheers,
Willy