[U-Boot] [PATCH v4 11/21] efi_loader: Introduce ms abi vararg helpers

Alexander Graf agraf at suse.de
Thu Jun 21 09:40:35 UTC 2018


On 06/21/2018 04:02 AM, Simon Glass wrote:
> Hi Alex,
>
> On 18 June 2018 at 09:23, Alexander Graf <agraf at suse.de> wrote:
>> Varargs differ between sysv and ms abi. On x86_64 we have to follow the ms
>> abi though, so we also need to make sure we use x86_64 varargs helpers.
>>
>> This patch introduces generic efi vararg helpers that adhere to the
>> respective EFI ABI. That way we can deal with them properly from efi
>> loader code and properly interpret variable arguments.
>>
>> This fixes the InstallMultipleProtocolInterfaces tests in the efi selftests
>> on x86_64 for me.
>>
>> Signed-off-by: Alexander Graf <agraf at suse.de>
>> ---
>>   include/efi.h                 |  8 ++++++++
>>   lib/efi_loader/efi_boottime.c | 36 ++++++++++++++++++------------------
>>   2 files changed, 26 insertions(+), 18 deletions(-)
> I thought this was a bug in gcc. Should we include this workaround
> only for older gcc versions?

The bug is something different - it's about using unannotated helper 
functions on an ms_abi declared vararg list. This patch really just 
implements expected behavior regardless of that bug.


Alex



More information about the U-Boot mailing list