On Tue, Jul 14, 2020 at 12:48 PM Sedat Dilek <[email protected]> wrote: > > When assembling with Clang via `make LLVM_IAS=1` and CONFIG_HYPERV enabled, > we observe the following error: > > <instantiation>:9:6: error: expected absolute expression > .if HYPERVISOR_REENLIGHTENMENT_VECTOR == 3 > ^ > <instantiation>:1:1: note: while in macro instantiation > idtentry HYPERVISOR_REENLIGHTENMENT_VECTOR asm_sysvec_hyperv_reenlightenment > sysvec_hyperv_reenlightenment has_error_code=0 > ^ > ./arch/x86/include/asm/idtentry.h:627:1: note: while in macro instantiation > idtentry_sysvec HYPERVISOR_REENLIGHTENMENT_VECTOR > sysvec_hyperv_reenlightenment; > ^ > <instantiation>:9:6: error: expected absolute expression > .if HYPERVISOR_STIMER0_VECTOR == 3 > ^ > <instantiation>:1:1: note: while in macro instantiation > idtentry HYPERVISOR_STIMER0_VECTOR asm_sysvec_hyperv_stimer0 > sysvec_hyperv_stimer0 has_error_code=0 > ^ > ./arch/x86/include/asm/idtentry.h:628:1: note: while in macro instantiation > idtentry_sysvec HYPERVISOR_STIMER0_VECTOR sysvec_hyperv_stimer0; > > This is caused by typos in arch/x86/include/asm/idtentry.h: > > HYPERVISOR_REENLIGHTENMENT_VECTOR -> HYPERV_REENLIGHTENMENT_VECTOR > HYPERVISOR_STIMER0_VECTOR -> HYPERV_STIMER0_VECTOR > > For more details see ClangBuiltLinux issue #1088. > > Cc: Jian Cai <[email protected]> > Fixes: a16be368dd3f ("x86/entry: Convert various hypervisor vectors to > IDTENTRY_SYSVEC") > Link: https://github.com/ClangBuiltLinux/linux/issues/1088 > Reviewed-by: Nathan Chancellor <[email protected]> > Reviewed-by: Wei Liu <[email protected]> > Suggested-by: Nick Desaulniers <[email protected]> > Signed-off-by: Sedat Dilek <[email protected]>
Reviewed-by: Nick Desaulniers <[email protected]> LGTM, thanks Sedat. > --- > Personal note: > I also needed Jian's patch to completely build with LLVM_IAS=1" but > I don't think that should be in the message that gets committed per > se. Without Jian's patch we did NOT catch this one! > Link: https://github.com/ClangBuiltLinux/linux/issues/1043 > Link: https://lore.kernel.org/patchwork/patch/1272115/ > > Changes v2->v3: > - Fold in comments suggested by Nick > - Add Nick's Suggested-by > - Drop unneeded tags and order the rest alphabetically > - Move comments and links to Jian's patch to a personal note > > Changes v1->v2: > - Add Wei Liu's Reviewed-by > - Add note to clarify my patch is independent from Jian's patch > - Add link to latest version of Jian's patch > > arch/x86/include/asm/idtentry.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h > index eeac6dc2adaa..d79541bfc36f 100644 > --- a/arch/x86/include/asm/idtentry.h > +++ b/arch/x86/include/asm/idtentry.h > @@ -626,8 +626,8 @@ DECLARE_IDTENTRY_SYSVEC(POSTED_INTR_NESTED_VECTOR, > sysvec_kvm_posted_intr_nested > > #if IS_ENABLED(CONFIG_HYPERV) > DECLARE_IDTENTRY_SYSVEC(HYPERVISOR_CALLBACK_VECTOR, > sysvec_hyperv_callback); > -DECLARE_IDTENTRY_SYSVEC(HYPERVISOR_REENLIGHTENMENT_VECTOR, > sysvec_hyperv_reenlightenment); > -DECLARE_IDTENTRY_SYSVEC(HYPERVISOR_STIMER0_VECTOR, > sysvec_hyperv_stimer0); > +DECLARE_IDTENTRY_SYSVEC(HYPERV_REENLIGHTENMENT_VECTOR, > sysvec_hyperv_reenlightenment); > +DECLARE_IDTENTRY_SYSVEC(HYPERV_STIMER0_VECTOR, sysvec_hyperv_stimer0); > #endif > > #if IS_ENABLED(CONFIG_ACRN_GUEST) > -- > 2.28.0.rc0 > -- Thanks, ~Nick Desaulniers

