mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	Refresh backport patches for kernel 5.15. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 2fd7e7f9317d3048a14026816d081b08ba98ea8e Mon Sep 17 00:00:00 2001
 | 
						||
From: Mark Rutland <mark.rutland@arm.com>
 | 
						||
Date: Tue, 8 Mar 2022 22:56:13 +0100
 | 
						||
Subject: [PATCH 1/3] Kbuild: use -Wdeclaration-after-statement
 | 
						||
 | 
						||
The kernel is moving from using `-std=gnu89` to `-std=gnu11`, permitting
 | 
						||
the use of additional C11 features such as for-loop initial declarations.
 | 
						||
 | 
						||
One contentious aspect of C99 is that it permits mixed declarations and
 | 
						||
code, and for now at least, it seems preferable to enforce that
 | 
						||
declarations must come first.
 | 
						||
 | 
						||
These warnings were already enabled in the kernel itself, but not
 | 
						||
for KBUILD_USERCFLAGS or the compat VDSO on arch/arm64, which uses
 | 
						||
a separate set of CFLAGS.
 | 
						||
 | 
						||
This patch fixes an existing violation in modpost.c, which is not
 | 
						||
reported because of the missing flag in KBUILD_USERCFLAGS:
 | 
						||
 | 
						||
| scripts/mod/modpost.c: In function ‘match’:
 | 
						||
| scripts/mod/modpost.c:837:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
 | 
						||
|   837 |   const char *endp = p + strlen(p) - 1;
 | 
						||
|       |   ^~~~~
 | 
						||
 | 
						||
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
 | 
						||
[arnd: don't add a duplicate flag to the default set, update changelog]
 | 
						||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 | 
						||
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
 | 
						||
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
 | 
						||
Tested-by: Sedat Dilek <sedat.dilek@gmail.com> # LLVM/Clang v13.0.0 (x86-64)
 | 
						||
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
 | 
						||
---
 | 
						||
 Makefile                          | 3 ++-
 | 
						||
 arch/arm64/kernel/vdso32/Makefile | 1 +
 | 
						||
 scripts/mod/modpost.c             | 4 +++-
 | 
						||
 3 files changed, 6 insertions(+), 2 deletions(-)
 | 
						||
 | 
						||
--- a/Makefile
 | 
						||
+++ b/Makefile
 | 
						||
@@ -432,7 +432,8 @@ HOSTCXX	= g++
 | 
						||
 endif
 | 
						||
 
 | 
						||
 export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
 | 
						||
-			      -O2 -fomit-frame-pointer -std=gnu89
 | 
						||
+			      -O2 -fomit-frame-pointer -std=gnu89 \
 | 
						||
+			      -Wdeclaration-after-statement
 | 
						||
 export KBUILD_USERLDFLAGS :=
 | 
						||
 
 | 
						||
 KBUILD_HOSTCFLAGS   := $(KBUILD_USERCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS)
 | 
						||
--- a/arch/arm64/kernel/vdso32/Makefile
 | 
						||
+++ b/arch/arm64/kernel/vdso32/Makefile
 | 
						||
@@ -76,6 +76,7 @@ VDSO_CFLAGS += -Wall -Wundef -Wstrict-pr
 | 
						||
                -fno-strict-aliasing -fno-common \
 | 
						||
                -Werror-implicit-function-declaration \
 | 
						||
                -Wno-format-security \
 | 
						||
+               -Wdeclaration-after-statement \
 | 
						||
                -std=gnu89
 | 
						||
 VDSO_CFLAGS  += -O2
 | 
						||
 # Some useful compiler-dependent flags from top-level Makefile
 | 
						||
--- a/scripts/mod/modpost.c
 | 
						||
+++ b/scripts/mod/modpost.c
 | 
						||
@@ -833,8 +833,10 @@ static int match(const char *sym, const
 | 
						||
 {
 | 
						||
 	const char *p;
 | 
						||
 	while (*pat) {
 | 
						||
+		const char *endp;
 | 
						||
+
 | 
						||
 		p = *pat++;
 | 
						||
-		const char *endp = p + strlen(p) - 1;
 | 
						||
+		endp = p + strlen(p) - 1;
 | 
						||
 
 | 
						||
 		/* "*foo*" */
 | 
						||
 		if (*p == '*' && *endp == '*') {
 |