forked from mirrors/linux
		
	kbuild: avoid static_assert for genksyms
genksyms does not know or care about the _Static_assert() built-in, and sometimes falls back to ignoring the later symbols, which causes undefined behavior such as WARNING: modpost: EXPORT symbol "ethtool_set_ethtool_phy_ops" [vmlinux] version generation failed, symbol will not be versioned. ld: net/ethtool/common.o: relocation R_AARCH64_ABS32 against `__crc_ethtool_set_ethtool_phy_ops' can not be used when making a shared object net/ethtool/common.o:(_ftrace_annotated_branch+0x0): dangerous relocation: unsupported relocation Redefine static_assert for genksyms to avoid that. Link: https://lkml.kernel.org/r/20201203230955.1482058-1-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Suggested-by: Ard Biesheuvel <ardb@kernel.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Michal Marek <michal.lkml@markovi.net> Cc: Kees Cook <keescook@chromium.org> Cc: Rikard Falkeborn <rikard.falkeborn@gmail.com> Cc: Marco Elver <elver@google.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									84edc2eff8
								
							
						
					
					
						commit
						14dc3983b5
					
				
					 1 changed files with 5 additions and 0 deletions
				
			
		|  | @ -77,4 +77,9 @@ | ||||||
| #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr) | #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr) | ||||||
| #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ||||||
| 
 | 
 | ||||||
|  | #ifdef __GENKSYMS__ | ||||||
|  | /* genksyms gets confused by _Static_assert */ | ||||||
|  | #define _Static_assert(expr, ...) | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #endif	/* _LINUX_BUILD_BUG_H */ | #endif	/* _LINUX_BUILD_BUG_H */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Arnd Bergmann
						Arnd Bergmann