| From: Kevin Brodsky <kevin.brodsky@arm.com> |
| Subject: selftests/mm: silence unused-result warnings |
| Date: Tue, 7 Jan 2025 17:01:10 +0000 |
| |
| Switching to -O2 when building the mm tests has the unexpected side effect |
| of triggering many unused-result warnings on certain distros like Ubuntu, |
| where GCC is configured so that -O2 implies -D_FORTIFY_SOURCE. |
| |
| Explicitly disable FORTIFY_SOURCE to avoid those warnings. This has |
| no effect on upstream toolchains where FORTIFY_SOURCE is not |
| implicitly enabled. |
| |
| Link: https://lkml.kernel.org/r/20250107170110.2819685-1-kevin.brodsky@arm.com |
| Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com> |
| Suggested-by: Ryan Roberts <ryan.roberts@arm.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| tools/testing/selftests/mm/Makefile | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| --- a/tools/testing/selftests/mm/Makefile~selftests-mm-build-with-o2-fix |
| +++ a/tools/testing/selftests/mm/Makefile |
| @@ -36,6 +36,13 @@ MAKEFLAGS += --no-builtin-rules |
| CFLAGS = -Wall -O2 -I $(top_srcdir) $(EXTRA_CFLAGS) $(KHDR_INCLUDES) $(TOOLS_INCLUDES) |
| LDLIBS = -lrt -lpthread -lm |
| |
| +# Some distributions (such as Ubuntu) configure GCC so that _FORTIFY_SOURCE is |
| +# automatically enabled at -O1 or above. This triggers various unused-result |
| +# warnings where functions such as read() or write() are called and their |
| +# return value is not checked. Disable _FORTIFY_SOURCE to silence those |
| +# warnings. |
| +CFLAGS += -U_FORTIFY_SOURCE |
| + |
| KDIR ?= /lib/modules/$(shell uname -r)/build |
| ifneq (,$(wildcard $(KDIR)/Module.symvers)) |
| ifneq (,$(wildcard $(KDIR)/include/linux/page_frag_cache.h)) |
| _ |