On 28 October 2015 at 14:35, Thomas Palmer <[email protected]> wrote:
> The EFIAPI function declaration is missing for several functions in the
> EmbeddedPkg/Ebl directory. A few function pointer struct members expect
> EFIAPI though and GCC46/X64 will fail to compile the directory without them.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Thomas Palmer <[email protected]>
The patch looks correct, but incomplete.
If I apply the patch and build the module like this:
$ build -a X64 -t GCC48 -p EmbeddedPkg/EmbeddedPkg.dsc -m
EmbeddedPkg/Ebl/Ebl.inf
I still get a failure
/home/ard/build/edk2/EmbeddedPkg/Ebl/Main.c:248:1: error: conflicting
types for ‘EblGetCharKey’
EblGetCharKey (
^
In file included from /home/ard/build/edk2/EmbeddedPkg/Ebl/Main.c:19:0:
/home/ard/build/edk2/EmbeddedPkg/Ebl/Ebl.h:117:1: note: previous
declaration of ‘EblGetCharKey’ was here
EblGetCharKey (
^
/home/ard/build/edk2/EmbeddedPkg/Ebl/Main.c:321:1: error: conflicting
types for ‘EblAnyKeyToContinueQtoQuit’
EblAnyKeyToContinueQtoQuit (
^
In file included from /home/ard/build/edk2/EmbeddedPkg/Ebl/Main.c:19:0:
/home/ard/build/edk2/EmbeddedPkg/Ebl/Ebl.h:90:1: note: previous
declaration of ‘EblAnyKeyToContinueQtoQuit’ was here
EblAnyKeyToContinueQtoQuit (
^
so it seems to me that you missed a couple.
Thanks,
Ard.
> ---
> EmbeddedPkg/Ebl/Command.c | 9 +++++++++
> EmbeddedPkg/Ebl/Dir.c | 3 +++
> EmbeddedPkg/Ebl/EfiDevice.c | 9 +++++++++
> EmbeddedPkg/Ebl/Hob.c | 2 ++
> EmbeddedPkg/Ebl/HwDebug.c | 4 ++++
> EmbeddedPkg/Ebl/HwIoDebug.c | 3 +++
> EmbeddedPkg/Ebl/Main.c | 3 +++
> EmbeddedPkg/Ebl/Network.c | 2 ++
> EmbeddedPkg/Ebl/Script.c | 2 ++
> EmbeddedPkg/Ebl/Variable.c | 3 +++
> EmbeddedPkg/Include/Library/EblCmdLib.h | 3 +++
> 11 files changed, 43 insertions(+)
>
> diff --git a/EmbeddedPkg/Ebl/Command.c b/EmbeddedPkg/Ebl/Command.c
> index 04ea794..e75c6a2 100644
> --- a/EmbeddedPkg/Ebl/Command.c
> +++ b/EmbeddedPkg/Ebl/Command.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -256,6 +257,7 @@ CountNewLines (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblHelpCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -313,6 +315,7 @@ EblHelpCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblExitCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -418,6 +421,7 @@ EblPauseCallback (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblPauseCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -452,6 +456,7 @@ EblPauseCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblBreakPointCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -478,6 +483,7 @@ EblBreakPointCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblResetCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -518,6 +524,7 @@ EblResetCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblPageCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -542,6 +549,7 @@ EblPageCmd (
> }
>
> EFI_STATUS
> +EFIAPI
> EblSleepCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -741,6 +749,7 @@ WidthFromCommandName (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblHexdumpCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/Dir.c b/EmbeddedPkg/Ebl/Dir.c
> index c45f67b..36095b6 100644
> --- a/EmbeddedPkg/Ebl/Dir.c
> +++ b/EmbeddedPkg/Ebl/Dir.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
>
> This program and the accompanying materials
> @@ -62,6 +63,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 *gFvFileType[] = {
>
> **/
> EFI_STATUS
> +EFIAPI
> EblDirCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -307,6 +309,7 @@ Done:
>
> **/
> EFI_STATUS
> +EFIAPI
> EblCdCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/EfiDevice.c b/EmbeddedPkg/Ebl/EfiDevice.c
> index 7d20609..ec9c331 100644
> --- a/EmbeddedPkg/Ebl/EfiDevice.c
> +++ b/EmbeddedPkg/Ebl/EfiDevice.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -202,6 +203,7 @@ EblPrintLoadFileInfo (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblDeviceCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -285,6 +287,7 @@ EblDeviceCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblStartCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -370,6 +373,7 @@ EblStartCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblLoadFvCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -426,6 +430,7 @@ EblLoadFvCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblConnectCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -548,6 +553,7 @@ CHAR8 *gMemMapType[] = {
>
> **/
> EFI_STATUS
> +EFIAPI
> EblMemMapCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -657,6 +663,7 @@ EblMemMapCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblGoCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -721,6 +728,7 @@ EblGoCmd (
> #define FILE_COPY_CHUNK 0x20000
>
> EFI_STATUS
> +EFIAPI
> EblFileCopyCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -863,6 +871,7 @@ Exit:
> }
>
> EFI_STATUS
> +EFIAPI
> EblFileDiffCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/Hob.c b/EmbeddedPkg/Ebl/Hob.c
> index 8b7a52e..edc0a74 100644
> --- a/EmbeddedPkg/Ebl/Hob.c
> +++ b/EmbeddedPkg/Ebl/Hob.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -116,6 +117,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED char *mHobResourceType[] = {
>
> **/
> EFI_STATUS
> +EFIAPI
> EblHobCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/HwDebug.c b/EmbeddedPkg/Ebl/HwDebug.c
> index 226b245..a62ccdc 100644
> --- a/EmbeddedPkg/Ebl/HwDebug.c
> +++ b/EmbeddedPkg/Ebl/HwDebug.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -40,6 +41,7 @@
>
> **/
> EFI_STATUS
> +EFIAPI
> EblMdCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -89,6 +91,7 @@ EblMdCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblMfillCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -169,6 +172,7 @@ CHAR8 *gPciSerialClassCodes[] = {
>
> **/
> EFI_STATUS
> +EFIAPI
> EblPciCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/HwIoDebug.c b/EmbeddedPkg/Ebl/HwIoDebug.c
> index c9144fe..6c99e7a 100644
> --- a/EmbeddedPkg/Ebl/HwIoDebug.c
> +++ b/EmbeddedPkg/Ebl/HwIoDebug.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -38,6 +39,7 @@
>
> **/
> EFI_STATUS
> +EFIAPI
> EblIoReadCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -88,6 +90,7 @@ EblIoReadCmd (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblIoWriteCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/Main.c b/EmbeddedPkg/Ebl/Main.c
> index dc17d26..18b2878 100644
> --- a/EmbeddedPkg/Ebl/Main.c
> +++ b/EmbeddedPkg/Ebl/Main.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -243,6 +244,7 @@ ParseArguments (
>
> **/
> EFI_STATUS
> +EFIAPI
> EblGetCharKey (
> IN OUT EFI_INPUT_KEY *Key,
> IN UINTN TimeoutInSec,
> @@ -315,6 +317,7 @@ EblGetCharKey (
>
> **/
> BOOLEAN
> +EFIAPI
> EblAnyKeyToContinueQtoQuit (
> IN UINTN *CurrentRow,
> IN BOOLEAN PrefixNewline
> diff --git a/EmbeddedPkg/Ebl/Network.c b/EmbeddedPkg/Ebl/Network.c
> index c0055d5..f2562e6 100644
> --- a/EmbeddedPkg/Ebl/Network.c
> +++ b/EmbeddedPkg/Ebl/Network.c
> @@ -2,6 +2,7 @@
> EBL commands for Network Devices
>
> Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -33,6 +34,7 @@ ParseIp (
> }
>
> EFI_STATUS
> +EFIAPI
> EblIpCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/Script.c b/EmbeddedPkg/Ebl/Script.c
> index a739e37..73360cb 100644
> --- a/EmbeddedPkg/Ebl/Script.c
> +++ b/EmbeddedPkg/Ebl/Script.c
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -42,6 +43,7 @@
>
> **/
> EFI_STATUS
> +EFIAPI
> EblScriptCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Ebl/Variable.c b/EmbeddedPkg/Ebl/Variable.c
> index f7627a8..f440c48 100644
> --- a/EmbeddedPkg/Ebl/Variable.c
> +++ b/EmbeddedPkg/Ebl/Variable.c
> @@ -1,6 +1,7 @@
> /** @file
> *
> * Copyright (c) 2011, ARM Limited. All rights reserved.
> +* (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
> *
> * This program and the accompanying materials
> * are licensed and made available under the terms and conditions of the BSD
> License
> @@ -17,6 +18,7 @@
> #include <Guid/GlobalVariable.h>
>
> EFI_STATUS
> +EFIAPI
> EblGetCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> @@ -79,6 +81,7 @@ EblGetCmd (
> }
>
> EFI_STATUS
> +EFIAPI
> EblSetCmd (
> IN UINTN Argc,
> IN CHAR8 **Argv
> diff --git a/EmbeddedPkg/Include/Library/EblCmdLib.h
> b/EmbeddedPkg/Include/Library/EblCmdLib.h
> index 5df71e6..2a8a66c 100644
> --- a/EmbeddedPkg/Include/Library/EblCmdLib.h
> +++ b/EmbeddedPkg/Include/Library/EblCmdLib.h
> @@ -3,6 +3,7 @@
>
> Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> + (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> @@ -22,11 +23,13 @@
>
>
> VOID
> +EFIAPI
> EblAddCommand (
> IN const EBL_COMMAND_TABLE *Entry
> );
>
> VOID
> +EFIAPI
> EblAddCommands (
> IN const EBL_COMMAND_TABLE *EntryArray,
> IN UINTN ArrayCount
> --
> 2.6.2.windows.1
>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel