From: Nathan Chancellor <nathan@kernel.org> To: Kees Cook <keescook@chromium.org> Cc: Jeff Dike <jdike@addtoit.com>, Richard Weinberger <richard@nod.at>, Anton Ivanov <anton.ivanov@cambridgegreys.com>, Masahiro Yamada <masahiroy@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, David Gow <davidgow@google.com>, linux-um@lists.infradead.org, linux-kbuild@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, llvm@lists.linux.dev, linux-kernel@vger.kernel.org, x86@kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH] um: Allow builds with Clang Date: Wed, 16 Feb 2022 17:37:13 -0700 [thread overview] Message-ID: <Yg2YubZxvYvx7/nm@dev-arch.archlinux-ax161> (raw) In-Reply-To: <20220217002843.2312603-1-keescook@chromium.org> On Wed, Feb 16, 2022 at 04:28:43PM -0800, Kees Cook wrote: > Add x86-64 target for Clang+um and update user-offsets.c to use > Clang-friendly assembler, similar to the fix from commit cf0c3e68aa81 Clang-friendly assembly? > ("kbuild: fix asm-offset generation to work with clang"). > > This lets me run KUnit tests with Clang: > > $ ./tools/testing/kunit/kunit.py config --make_options LLVM=1 > ... > $ ./tools/testing/kunit/kunit.py run --make_options LLVM=1 > ... > > Cc: Jeff Dike <jdike@addtoit.com> > Cc: Richard Weinberger <richard@nod.at> > Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> > Cc: Masahiro Yamada <masahiroy@kernel.org> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Nathan Chancellor <nathan@kernel.org> > Cc: David Gow <davidgow@google.com> > Cc: linux-um@lists.infradead.org > Cc: linux-kbuild@vger.kernel.org > Cc: linux-kselftest@vger.kernel.org > Cc: kunit-dev@googlegroups.com > Cc: llvm@lists.linux.dev > Signed-off-by: Kees Cook <keescook@chromium.org> I am not super familiar with UML but this seems reasonable. Reviewed-by: Nathan Chancellor <nathan@kernel.org> One small nit below if you have to send a v2, not sure it is worth it otherwise. > --- > arch/x86/um/user-offsets.c | 4 ++-- > scripts/Makefile.clang | 1 + > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/um/user-offsets.c b/arch/x86/um/user-offsets.c > index bae61554abcc..d9071827b515 100644 > --- a/arch/x86/um/user-offsets.c > +++ b/arch/x86/um/user-offsets.c > @@ -10,10 +10,10 @@ > #include <asm/types.h> > > #define DEFINE(sym, val) \ > - asm volatile("\n->" #sym " %0 " #val : : "i" (val)) > + asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val)) > > #define DEFINE_LONGS(sym, val) \ > - asm volatile("\n->" #sym " %0 " #val : : "i" (val/sizeof(unsigned long))) > + asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val/sizeof(unsigned long))) > > void foo(void) > { > diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang > index 51fc23e2e9e5..857b23de51c6 100644 > --- a/scripts/Makefile.clang > +++ b/scripts/Makefile.clang > @@ -10,6 +10,7 @@ CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu > CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu > CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu > CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu > +CLANG_TARGET_FLAGS_um := x86_64-linux-gnu It might be nice to keep this in alphabetical order. > CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH)) > > ifeq ($(CROSS_COMPILE),) > -- > 2.30.2 > >
WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org> To: Kees Cook <keescook@chromium.org> Cc: Jeff Dike <jdike@addtoit.com>, Richard Weinberger <richard@nod.at>, Anton Ivanov <anton.ivanov@cambridgegreys.com>, Masahiro Yamada <masahiroy@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, David Gow <davidgow@google.com>, linux-um@lists.infradead.org, linux-kbuild@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, llvm@lists.linux.dev, linux-kernel@vger.kernel.org, x86@kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH] um: Allow builds with Clang Date: Wed, 16 Feb 2022 17:37:13 -0700 [thread overview] Message-ID: <Yg2YubZxvYvx7/nm@dev-arch.archlinux-ax161> (raw) In-Reply-To: <20220217002843.2312603-1-keescook@chromium.org> On Wed, Feb 16, 2022 at 04:28:43PM -0800, Kees Cook wrote: > Add x86-64 target for Clang+um and update user-offsets.c to use > Clang-friendly assembler, similar to the fix from commit cf0c3e68aa81 Clang-friendly assembly? > ("kbuild: fix asm-offset generation to work with clang"). > > This lets me run KUnit tests with Clang: > > $ ./tools/testing/kunit/kunit.py config --make_options LLVM=1 > ... > $ ./tools/testing/kunit/kunit.py run --make_options LLVM=1 > ... > > Cc: Jeff Dike <jdike@addtoit.com> > Cc: Richard Weinberger <richard@nod.at> > Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> > Cc: Masahiro Yamada <masahiroy@kernel.org> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Nathan Chancellor <nathan@kernel.org> > Cc: David Gow <davidgow@google.com> > Cc: linux-um@lists.infradead.org > Cc: linux-kbuild@vger.kernel.org > Cc: linux-kselftest@vger.kernel.org > Cc: kunit-dev@googlegroups.com > Cc: llvm@lists.linux.dev > Signed-off-by: Kees Cook <keescook@chromium.org> I am not super familiar with UML but this seems reasonable. Reviewed-by: Nathan Chancellor <nathan@kernel.org> One small nit below if you have to send a v2, not sure it is worth it otherwise. > --- > arch/x86/um/user-offsets.c | 4 ++-- > scripts/Makefile.clang | 1 + > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/um/user-offsets.c b/arch/x86/um/user-offsets.c > index bae61554abcc..d9071827b515 100644 > --- a/arch/x86/um/user-offsets.c > +++ b/arch/x86/um/user-offsets.c > @@ -10,10 +10,10 @@ > #include <asm/types.h> > > #define DEFINE(sym, val) \ > - asm volatile("\n->" #sym " %0 " #val : : "i" (val)) > + asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val)) > > #define DEFINE_LONGS(sym, val) \ > - asm volatile("\n->" #sym " %0 " #val : : "i" (val/sizeof(unsigned long))) > + asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val/sizeof(unsigned long))) > > void foo(void) > { > diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang > index 51fc23e2e9e5..857b23de51c6 100644 > --- a/scripts/Makefile.clang > +++ b/scripts/Makefile.clang > @@ -10,6 +10,7 @@ CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu > CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu > CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu > CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu > +CLANG_TARGET_FLAGS_um := x86_64-linux-gnu It might be nice to keep this in alphabetical order. > CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH)) > > ifeq ($(CROSS_COMPILE),) > -- > 2.30.2 > > _______________________________________________ linux-um mailing list linux-um@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-um
next prev parent reply other threads:[~2022-02-17 0:37 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-02-17 0:28 [PATCH] um: Allow builds with Clang Kees Cook 2022-02-17 0:37 ` Nathan Chancellor [this message] 2022-02-17 0:37 ` Nathan Chancellor 2022-02-17 2:59 ` David Gow 2022-02-17 2:59 ` David Gow 2022-02-17 4:54 ` Masahiro Yamada 2022-02-17 4:54 ` Masahiro Yamada 2022-02-17 17:41 ` Nathan Chancellor 2022-02-17 17:41 ` Nathan Chancellor 2022-02-18 2:19 ` Masahiro Yamada 2022-02-18 2:19 ` Masahiro Yamada
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=Yg2YubZxvYvx7/nm@dev-arch.archlinux-ax161 \ --to=nathan@kernel.org \ --cc=anton.ivanov@cambridgegreys.com \ --cc=davidgow@google.com \ --cc=jdike@addtoit.com \ --cc=keescook@chromium.org \ --cc=kunit-dev@googlegroups.com \ --cc=linux-hardening@vger.kernel.org \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=linux-um@lists.infradead.org \ --cc=llvm@lists.linux.dev \ --cc=masahiroy@kernel.org \ --cc=ndesaulniers@google.com \ --cc=richard@nod.at \ --cc=x86@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.