On 6 February 2018 at 23:01, Laszlo Ersek <ler...@redhat.com> wrote: > "Platform.h" declares the AmdSevInitialize() function without EFIAPI, but > the definition in "AmdSev.c" includes EFIAPI. > > GCC toolchains without LTO do not catch this error because "AmdSev.c" does > not include "Platform.h"; i.e. the declaration used by callers such as > "Platform.c" is not actually matched against the function definition at > build time. > > With LTO enabled, the mismatch is found -- however, as a warning only, due > to commit f8d0b9662993 ("BaseTools GCC5: disable warnings-as-errors for > now", 2016-08-03). > > Include the header in the C file (which turns the issue into a hard build > error on all GCC toolchains), plus sync the declaration from the header > file to the C file. > > There's been no functional breakage because AmdSevInitialize() takes no > parameters. > > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > Cc: Brijesh Singh <brijesh.si...@amd.com> > Cc: Jordan Justen <jordan.l.jus...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Laszlo Ersek <ler...@redhat.com>
Acked-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > --- > OvmfPkg/PlatformPei/AmdSev.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/OvmfPkg/PlatformPei/AmdSev.c b/OvmfPkg/PlatformPei/AmdSev.c > index 1539e5b5cdce..ad31b69fb032 100644 > --- a/OvmfPkg/PlatformPei/AmdSev.c > +++ b/OvmfPkg/PlatformPei/AmdSev.c > @@ -23,6 +23,8 @@ > #include <Register/Amd/Cpuid.h> > #include <Library/MemEncryptSevLib.h> > > +#include "Platform.h" > + > /** > > Function checks if SEV support is available, if present then it sets > @@ -30,7 +32,6 @@ > > **/ > VOID > -EFIAPI > AmdSevInitialize ( > VOID > ) > -- > 2.14.1.3.gb7cf6e02401b > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel