powerpc: Disable -Wbuiltin-requires-header when setjmp is used
The powerpc kernel uses setjmp which causes a warning when building with clang: In file included from arch/powerpc/xmon/xmon.c:51: ./arch/powerpc/include/asm/setjmp.h:15:13: error: declaration of built-in function 'setjmp' requires inclusion of the header <setjmp.h> [-Werror,-Wbuiltin-requires-header] extern long setjmp(long *); ^ ./arch/powerpc/include/asm/setjmp.h:16:13: error: declaration of built-in function 'longjmp' requires inclusion of the header <setjmp.h> [-Werror,-Wbuiltin-requires-header] extern void longjmp(long *, long); ^ This *is* the header and we're not using the built-in setjump but rather the one in arch/powerpc/kernel/misc.S. As the compiler warning does not make sense, it for the files where setjmp is used. Signed-off-by: Joel Stanley <joel@jms.id.au> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> [mpe: Move subdir-ccflags in xmon/Makefile to not clobber -Werror] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
014704e6f5
commit
aea447141c
|
@ -5,6 +5,9 @@
|
||||||
|
|
||||||
CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"'
|
CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"'
|
||||||
|
|
||||||
|
# Disable clang warning for using setjmp without setjmp.h header
|
||||||
|
CFLAGS_crash.o += $(call cc-disable-warning, builtin-requires-header)
|
||||||
|
|
||||||
subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
|
subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
|
||||||
|
|
||||||
ifdef CONFIG_PPC64
|
ifdef CONFIG_PPC64
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
# Makefile for xmon
|
# Makefile for xmon
|
||||||
|
|
||||||
subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
|
# Disable clang warning for using setjmp without setjmp.h header
|
||||||
|
subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header)
|
||||||
|
|
||||||
|
subdir-ccflags-$(CONFIG_PPC_WERROR) += -Werror
|
||||||
|
|
||||||
GCOV_PROFILE := n
|
GCOV_PROFILE := n
|
||||||
UBSAN_SANITIZE := n
|
UBSAN_SANITIZE := n
|
||||||
|
|
Loading…
Reference in New Issue