Re: [PATCH] KVM: arm64: nVHE: gen-hyprel: Silent build warnings

From: Marc Zyngier
Date: Thu Oct 10 2024 - 09:04:07 EST


On Thu, 10 Oct 2024 09:12:29 +0100,
"tianjia.zhang" <tianjia.zhang@xxxxxxxxxxxxxxxxx> wrote:
>
>
>
> On 10/9/24 7:07 PM, Marc Zyngier wrote:
> > On Wed, 09 Oct 2024 09:57:51 +0100,
> > Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx> wrote:
> >>
> >> This patch silent the some mismatch format build warnings
> >> with clang, like:
> >>
> >> arch/arm64/kvm/hyp/nvhe/gen-hyprel.c:233:2: warning: format specifies
> >> type 'unsigned long' but the argument has type 'Elf64_Off'
> >> (aka 'unsigned long long') [-Wformat]
> >> 233 | assert_ne(off, 0UL, "%lu");
> >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> >> | %llu
> >> arch/arm64/kvm/hyp/nvhe/gen-hyprel.c:193:34: note: expanded from macro 'assert_ne'
> >> 193 | #define assert_ne(lhs, rhs, fmt) assert_op(lhs, rhs, fmt, !=)
> >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> arch/arm64/kvm/hyp/nvhe/gen-hyprel.c:188:19: note: expanded from macro 'assert_op'
> >> 187 | " failed (lhs=" fmt ", rhs=" fmt \
> >> | ~~~
> >> 188 | ", line=%d)", _lhs, _rhs, __LINE__); \
> >> | ^~~~
> >> arch/arm64/kvm/hyp/nvhe/gen-hyprel.c:167:17: note: expanded from macro 'fatal_error'
> >> 166 | fprintf(stderr, "error: %s: " fmt "\n", \
> >> | ~~~
> >> 167 | elf.path, ## __VA_ARGS__); \
> >> | ^~~~~~~~~~~
> >>
> >> Signed-off-by: Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx>
> >
> > I don't see these warnings. What version of LLVM are you using?
> >
>
> I compiled the kernel on Apple Silicon M3 Pro in macOS 15.0.1, Maybe this is
> a special scenario that is rarely used.
>
> Details of clang:
>
> # clang --version
> Homebrew clang version 19.1.1
> Target: arm64-apple-darwin24.0.0
> Thread model: posix
> InstalledDir: /opt/homebrew/Cellar/llvm/19.1.1/bin

What I have is similar enough:

ClangBuiltLinux clang version 19.1.1 (https://github.com/llvm/llvm-project.git d401987fe349a87c53fe25829215b080b70c0c1a)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/maz/hot-poop/llvm/llvm-19.1.1-aarch64/bin

and yet this doesn't fire. Can you try with a compiler actually
targeting with Linux instead of MacOS?

Thanks,

M.

--
Without deviation from the norm, progress is not possible.