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 v3 2/3] powerpc: Avoid clang warnings around setjmp and longjmp
Date: Wed, 11 Sep 2019 11:20:51 -0700 [thread overview]
Message-ID: <20190911182049.77853-3-natechancellor@gmail.com> (raw)
In-Reply-To: <20190911182049.77853-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
Suggested-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
v1 -> v3:
* Use -ffreestanding instead of outright disabling the warning because
it is legitimate.
I skipped v2 because the first patch in the series already had a v2.
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 c9cc4b689e60..19f19c8c874b 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.23.0
next prev parent reply other threads:[~2019-09-11 18:21 UTC|newest]
Thread overview: 29+ 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 ` [PATCH v3 1/3] powerpc: Don't add -mabi= flags when building with Clang Nathan Chancellor
2019-09-11 18:20 ` Nathan Chancellor [this message]
2019-09-11 20:55 ` [PATCH v3 2/3] powerpc: Avoid clang warnings around setjmp and longjmp 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 21:01 ` Nick Desaulniers
2019-09-12 5:43 ` Nathan Chancellor
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 ` [PATCH v4 1/3] powerpc: Don't add -mabi= flags when building with Clang 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 ` [PATCH v4 3/3] powerpc/prom_init: Use -ffreestanding to avoid a reference to bcmp Nathan Chancellor
2019-10-14 9:35 ` Segher Boessenkool
2019-10-14 15:56 ` Nick Desaulniers
2019-10-14 19:11 ` Segher Boessenkool
2019-10-18 19:00 ` Nathan Chancellor
2019-10-18 20:02 ` Segher Boessenkool
2019-10-22 5:15 ` Nathan Chancellor
2019-10-22 8:57 ` Segher Boessenkool
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-11-19 4:57 ` [PATCH v5 0/3] LLVM/Clang fixes for a few defconfigs 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-26 1:13 ` Michael Ellerman
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-25 20:15 ` [PATCH v5 0/3] LLVM/Clang fixes for a few defconfigs Nick Desaulniers
2019-11-28 4:59 ` Michael Ellerman
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=20190911182049.77853-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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).