On 03.02.2021 18:58, Roger Pau Monne wrote: > --- a/xen/include/asm-x86/x86_64/efibind.h > +++ b/xen/include/asm-x86/x86_64/efibind.h > @@ -172,7 +172,7 @@ typedef uint64_t UINTN; > #ifndef EFIAPI // Forces EFI calling conventions > reguardless of compiler options > #ifdef _MSC_EXTENSIONS > #define EFIAPI __cdecl // Force C calling convention for Microsoft > C compiler > - #elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) > + #elif __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) > #define EFIAPI __attribute__((__ms_abi__)) // Force Microsoft ABI > #else > #define EFIAPI // Substitute expresion to force C calling > convention >
So the problem is that some capable Clang versions set too low a __GNUC_MINOR__ (I'm observing 2 alongside __GNUC__ being 4 on Clang5). The way the description and change are written made me rather imply __GNUC__ to not be available at all, which I then thought can't be the case because iirc we use it elsewhere. Jan
