From: Jan Beulich Date: Mon, 9 Jul 2018 08:49:37 +0000 (+0200) Subject: x86: fix dependency tracking for asm/indirect_thunk_asm.h X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~3665 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8a36fdafe6415210ec2c64f83407af79ac7a88c7;p=xen.git x86: fix dependency tracking for asm/indirect_thunk_asm.h Including the header solely at the assembler level means the compiler can't record the header as a dependency in .*.o.d files. Arrange for the header to be include-able at the C level instead. Signed-off-by: Jan Beulich Reviewed-by: Wei Liu Acked-by: Andrew Cooper --- diff --git a/xen/include/asm-x86/asm_defns.h b/xen/include/asm-x86/asm_defns.h index f8128c096d..f0733f2b7c 100644 --- a/xen/include/asm-x86/asm_defns.h +++ b/xen/include/asm-x86/asm_defns.h @@ -18,12 +18,11 @@ #ifndef CONFIG_INDIRECT_THUNK .equ CONFIG_INDIRECT_THUNK, 0 #endif -# include #else asm ( "\t.equ CONFIG_INDIRECT_THUNK, " __stringify(IS_ENABLED(CONFIG_INDIRECT_THUNK)) ); -asm ( "\t.include \"asm/indirect_thunk_asm.h\"" ); #endif +#include #ifndef __ASSEMBLY__ void ret_from_intr(void); diff --git a/xen/include/asm-x86/indirect_thunk_asm.h b/xen/include/asm-x86/indirect_thunk_asm.h index 96bcc25497..71e6de5bf7 100644 --- a/xen/include/asm-x86/indirect_thunk_asm.h +++ b/xen/include/asm-x86/indirect_thunk_asm.h @@ -1,7 +1,17 @@ /* - * Warning! This file is included at an assembler level for .c files, causing - * usual #ifdef'ary to turn into comments. + * Trickery to allow this header to be included at the C level, to permit + * proper dependency tracking in .*.o.d files, while still having it contain + * assembler only macros. */ +#ifndef __ASSEMBLY__ +# if 0 + .if 0 +# endif +asm ( "\t.include \"asm/indirect_thunk_asm.h\"" ); +# if 0 + .endif +# endif +#else .macro INDIRECT_BRANCH insn:req arg:req /* @@ -39,3 +49,5 @@ .macro INDIRECT_JMP arg:req INDIRECT_BRANCH jmp \arg .endm + +#endif