From: Nathan Chancellor <natechancellor@gmail.com> To: Benjamin Herrenschmidt <benh@kernel.crashing.org>, Paul Mackerras <paulus@samba.org>, Michael Ellerman <mpe@ellerman.id.au> Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com, Nick Desaulniers <ndesaulniers@google.com>, Nathan Chancellor <natechancellor@gmail.com>, stable@vger.kernel.org, Segher Boessenkool <segher@kernel.crashing.org> Subject: [PATCH v5 2/3] powerpc: Avoid clang warnings around setjmp and longjmp Date: Mon, 18 Nov 2019 21:57:11 -0700 [thread overview] Message-ID: <20191119045712.39633-3-natechancellor@gmail.com> (raw) In-Reply-To: <20191119045712.39633-1-natechancellor@gmail.com> Commit aea447141c7e ("powerpc: Disable -Wbuiltin-requires-header when setjmp is used") disabled -Wbuiltin-requires-header because of a warning about the setjmp and longjmp declarations. r367387 in clang added another diagnostic around this, complaining that there is no jmp_buf declaration. In file included from ../arch/powerpc/xmon/xmon.c:47: ../arch/powerpc/include/asm/setjmp.h:10:13: error: declaration of built-in function 'setjmp' requires the declaration of the 'jmp_buf' type, commonly provided in the header <setjmp.h>. [-Werror,-Wincomplete-setjmp-declaration] extern long setjmp(long *); ^ ../arch/powerpc/include/asm/setjmp.h:11:13: error: declaration of built-in function 'longjmp' requires the declaration of the 'jmp_buf' type, commonly provided in the header <setjmp.h>. [-Werror,-Wincomplete-setjmp-declaration] extern void longjmp(long *, long); ^ 2 errors generated. We are not using the standard library's longjmp/setjmp implementations for obvious reasons; make this clear to clang by using -ffreestanding on these files. Cc: stable@vger.kernel.org # 4.14+ Link: https://github.com/ClangBuiltLinux/linux/issues/625 Link: https://github.com/llvm/llvm-project/commit/3be25e79477db2d31ac46493d97eca8c20592b07 Link: https://godbolt.org/z/B2oQnl Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- v1 -> v3 (I skipped v2 because the first patch in the series already had a v2): * Use -ffreestanding instead of outright disabling the warning because it is legitimate. v3 -> v4: * Rebase on v5.4-rc3 * Add Nick's reviewed-by and Compiler Explorer link. v4 -> v5: * Rebase on next-20191118 arch/powerpc/kernel/Makefile | 4 ++-- arch/powerpc/xmon/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index bb57d168d6f4..3c113ae0de2b 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -5,8 +5,8 @@ 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) +# Avoid clang warnings around longjmp/setjmp declarations +CFLAGS_crash.o += -ffreestanding ifdef CONFIG_PPC64 CFLAGS_prom_init.o += $(NO_MINIMAL_TOC) diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile index f142570ad860..c3842dbeb1b7 100644 --- a/arch/powerpc/xmon/Makefile +++ b/arch/powerpc/xmon/Makefile @@ -1,8 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 # Makefile for xmon -# Disable clang warning for using setjmp without setjmp.h header -subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header) +# Avoid clang warnings around longjmp/setjmp declarations +subdir-ccflags-y := -ffreestanding GCOV_PROFILE := n KCOV_INSTRUMENT := n -- 2.24.0
WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <natechancellor@gmail.com> To: Benjamin Herrenschmidt <benh@kernel.crashing.org>, Paul Mackerras <paulus@samba.org>, Michael Ellerman <mpe@ellerman.id.au> Cc: Nick Desaulniers <ndesaulniers@google.com>, linux-kernel@vger.kernel.org, stable@vger.kernel.org, clang-built-linux@googlegroups.com, Nathan Chancellor <natechancellor@gmail.com>, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v5 2/3] powerpc: Avoid clang warnings around setjmp and longjmp Date: Mon, 18 Nov 2019 21:57:11 -0700 [thread overview] Message-ID: <20191119045712.39633-3-natechancellor@gmail.com> (raw) In-Reply-To: <20191119045712.39633-1-natechancellor@gmail.com> Commit aea447141c7e ("powerpc: Disable -Wbuiltin-requires-header when setjmp is used") disabled -Wbuiltin-requires-header because of a warning about the setjmp and longjmp declarations. r367387 in clang added another diagnostic around this, complaining that there is no jmp_buf declaration. In file included from ../arch/powerpc/xmon/xmon.c:47: ../arch/powerpc/include/asm/setjmp.h:10:13: error: declaration of built-in function 'setjmp' requires the declaration of the 'jmp_buf' type, commonly provided in the header <setjmp.h>. [-Werror,-Wincomplete-setjmp-declaration] extern long setjmp(long *); ^ ../arch/powerpc/include/asm/setjmp.h:11:13: error: declaration of built-in function 'longjmp' requires the declaration of the 'jmp_buf' type, commonly provided in the header <setjmp.h>. [-Werror,-Wincomplete-setjmp-declaration] extern void longjmp(long *, long); ^ 2 errors generated. We are not using the standard library's longjmp/setjmp implementations for obvious reasons; make this clear to clang by using -ffreestanding on these files. Cc: stable@vger.kernel.org # 4.14+ Link: https://github.com/ClangBuiltLinux/linux/issues/625 Link: https://github.com/llvm/llvm-project/commit/3be25e79477db2d31ac46493d97eca8c20592b07 Link: https://godbolt.org/z/B2oQnl Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- v1 -> v3 (I skipped v2 because the first patch in the series already had a v2): * Use -ffreestanding instead of outright disabling the warning because it is legitimate. v3 -> v4: * Rebase on v5.4-rc3 * Add Nick's reviewed-by and Compiler Explorer link. v4 -> v5: * Rebase on next-20191118 arch/powerpc/kernel/Makefile | 4 ++-- arch/powerpc/xmon/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index bb57d168d6f4..3c113ae0de2b 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -5,8 +5,8 @@ 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) +# Avoid clang warnings around longjmp/setjmp declarations +CFLAGS_crash.o += -ffreestanding ifdef CONFIG_PPC64 CFLAGS_prom_init.o += $(NO_MINIMAL_TOC) diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile index f142570ad860..c3842dbeb1b7 100644 --- a/arch/powerpc/xmon/Makefile +++ b/arch/powerpc/xmon/Makefile @@ -1,8 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 # Makefile for xmon -# Disable clang warning for using setjmp without setjmp.h header -subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header) +# Avoid clang warnings around longjmp/setjmp declarations +subdir-ccflags-y := -ffreestanding GCOV_PROFILE := n KCOV_INSTRUMENT := n -- 2.24.0
next prev parent reply other threads:[~2019-11-19 4:57 UTC|newest] Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-11 18:20 [PATCH v3 0/3] LLVM/Clang fixes for pseries_defconfig Nathan Chancellor 2019-09-11 18:20 ` Nathan Chancellor 2019-09-11 18:20 ` [PATCH v3 1/3] powerpc: Don't add -mabi= flags when building with Clang Nathan Chancellor 2019-09-11 18:20 ` Nathan Chancellor 2019-09-11 18:20 ` [PATCH v3 2/3] powerpc: Avoid clang warnings around setjmp and longjmp Nathan Chancellor 2019-09-11 18:20 ` Nathan Chancellor 2019-09-11 20:55 ` Nick Desaulniers 2019-09-11 20:55 ` Nick Desaulniers 2019-09-11 18:20 ` [PATCH v3 3/3] powerpc/prom_init: Use -ffreestanding to avoid a reference to bcmp Nathan Chancellor 2019-09-11 18:20 ` Nathan Chancellor 2019-09-11 21:01 ` Nick Desaulniers 2019-09-11 21:01 ` Nick Desaulniers 2019-09-12 5:43 ` Nathan Chancellor 2019-09-12 5:43 ` Nathan Chancellor 2019-09-12 17:30 ` Nick Desaulniers 2019-09-12 17:30 ` Nick Desaulniers 2019-10-14 2:50 ` [PATCH v4 0/3] LLVM/Clang fixes for pseries_defconfig Nathan Chancellor 2019-10-14 2:50 ` Nathan Chancellor 2019-10-14 2:50 ` [PATCH v4 1/3] powerpc: Don't add -mabi= flags when building with Clang Nathan Chancellor 2019-10-14 2:50 ` Nathan Chancellor 2019-10-14 2:51 ` [PATCH v4 2/3] powerpc: Avoid clang warnings around setjmp and longjmp Nathan Chancellor 2019-10-14 2:51 ` Nathan Chancellor 2019-10-14 2:51 ` [PATCH v4 3/3] powerpc/prom_init: Use -ffreestanding to avoid a reference to bcmp Nathan Chancellor 2019-10-14 2:51 ` Nathan Chancellor 2019-10-14 9:35 ` Segher Boessenkool 2019-10-14 9:35 ` Segher Boessenkool 2019-10-14 15:56 ` Nick Desaulniers 2019-10-14 15:56 ` Nick Desaulniers 2019-10-14 19:11 ` Segher Boessenkool 2019-10-14 19:11 ` Segher Boessenkool 2019-10-18 19:00 ` Nathan Chancellor 2019-10-18 19:00 ` Nathan Chancellor 2019-10-18 20:02 ` Segher Boessenkool 2019-10-18 20:02 ` Segher Boessenkool 2019-10-22 5:15 ` Nathan Chancellor 2019-10-22 5:15 ` Nathan Chancellor 2019-10-22 8:57 ` Segher Boessenkool 2019-10-22 8:57 ` Segher Boessenkool 2019-10-30 4:12 ` Nathan Chancellor 2019-10-30 4:12 ` Nathan Chancellor 2019-10-14 16:03 ` [PATCH v4 0/3] LLVM/Clang fixes for pseries_defconfig Nick Desaulniers 2019-10-14 16:03 ` Nick Desaulniers 2019-11-19 4:57 ` [PATCH v5 0/3] LLVM/Clang fixes for a few defconfigs Nathan Chancellor 2019-11-19 4:57 ` Nathan Chancellor 2019-11-19 4:57 ` [PATCH v5 1/3] powerpc: Don't add -mabi= flags when building with Clang Nathan Chancellor 2019-11-19 4:57 ` Nathan Chancellor 2019-11-26 1:13 ` Michael Ellerman 2019-11-19 4:57 ` Nathan Chancellor [this message] 2019-11-19 4:57 ` [PATCH v5 2/3] powerpc: Avoid clang warnings around setjmp and longjmp Nathan Chancellor 2019-11-19 4:57 ` [PATCH v5 3/3] powerpc/prom_init: Use -ffreestanding to avoid a reference to bcmp Nathan Chancellor 2019-11-19 4:57 ` Nathan Chancellor 2019-11-25 20:15 ` [PATCH v5 0/3] LLVM/Clang fixes for a few defconfigs Nick Desaulniers 2019-11-25 20:15 ` Nick Desaulniers 2019-11-28 4:59 ` Michael Ellerman 2019-11-28 4:59 ` Michael Ellerman 2019-11-28 7:45 ` Nathan Chancellor 2019-11-28 7:45 ` Nathan Chancellor
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191119045712.39633-3-natechancellor@gmail.com \ --to=natechancellor@gmail.com \ --cc=benh@kernel.crashing.org \ --cc=clang-built-linux@googlegroups.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mpe@ellerman.id.au \ --cc=ndesaulniers@google.com \ --cc=paulus@samba.org \ --cc=segher@kernel.crashing.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.