Re: [PATCH] kfence, kcsan: avoid passing -g for tests

From: Andrew Morton
Date: Thu Mar 16 2023 - 18:34:05 EST


On Thu, 16 Mar 2023 16:51:04 +0100 Marco Elver <elver@xxxxxxxxxx> 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`.

Does this need to be backported into earlier kernels?

If so, we'd need to do it as two patches, each with the relevant
Fixes:, which appear to be a146fed56f8 and bc8fbc5f30.