lkml.org 
[lkml]   [2023]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] kfence, kcsan: avoid passing -g for tests
On Thu, Mar 16, 2023 at 04:51:04PM +0100, Marco Elver wrote:
> Nathan reported that when building with GNU as and a version of clang
> that defaults to DWARF5:
>
> $ make -skj"$(nproc)" ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- \
> LLVM=1 LLVM_IAS=0 O=build \
> mrproper allmodconfig mm/kfence/kfence_test.o
> /tmp/kfence_test-08a0a0.s: Assembler messages:
> /tmp/kfence_test-08a0a0.s:14627: Error: non-constant .uleb128 is not supported
> /tmp/kfence_test-08a0a0.s:14628: Error: non-constant .uleb128 is not supported
> /tmp/kfence_test-08a0a0.s:14632: Error: non-constant .uleb128 is not supported
> /tmp/kfence_test-08a0a0.s:14633: Error: non-constant .uleb128 is not supported
> /tmp/kfence_test-08a0a0.s:14639: Error: non-constant .uleb128 is not supported
> ...
>
> This is because `-g` defaults to the compiler debug info default. If the
> assembler does not support some of the directives used, the above errors
> occur. To fix, remove the explicit passing of `-g`.
>
> All these tests want is that stack traces print valid function names,
> and debug info is not required for that. I currently cannot recall why I
> added the explicit `-g`.
>
> Reported-by: Nathan Chancellor <nathan@kernel.org>
> Signed-off-by: Marco Elver <elver@google.com>

Thanks for the quick patch!

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

> ---
> kernel/kcsan/Makefile | 2 +-
> mm/kfence/Makefile | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/kcsan/Makefile b/kernel/kcsan/Makefile
> index 8cf70f068d92..a45f3dfc8d14 100644
> --- a/kernel/kcsan/Makefile
> +++ b/kernel/kcsan/Makefile
> @@ -16,6 +16,6 @@ obj-y := core.o debugfs.o report.o
> KCSAN_INSTRUMENT_BARRIERS_selftest.o := y
> obj-$(CONFIG_KCSAN_SELFTEST) += selftest.o
>
> -CFLAGS_kcsan_test.o := $(CFLAGS_KCSAN) -g -fno-omit-frame-pointer
> +CFLAGS_kcsan_test.o := $(CFLAGS_KCSAN) -fno-omit-frame-pointer
> CFLAGS_kcsan_test.o += $(DISABLE_STRUCTLEAK_PLUGIN)
> obj-$(CONFIG_KCSAN_KUNIT_TEST) += kcsan_test.o
> diff --git a/mm/kfence/Makefile b/mm/kfence/Makefile
> index 0bb95728a784..2de2a58d11a1 100644
> --- a/mm/kfence/Makefile
> +++ b/mm/kfence/Makefile
> @@ -2,5 +2,5 @@
>
> obj-y := core.o report.o
>
> -CFLAGS_kfence_test.o := -g -fno-omit-frame-pointer -fno-optimize-sibling-calls
> +CFLAGS_kfence_test.o := -fno-omit-frame-pointer -fno-optimize-sibling-calls
> obj-$(CONFIG_KFENCE_KUNIT_TEST) += kfence_test.o
> --
> 2.40.0.rc1.284.g88254d51c5-goog
>

\
 
 \ /
  Last update: 2023-03-27 01:04    [W:0.223 / U:0.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site