Fix below GCC build error: 1) "Head" dereference issue. 2) "BooleanArrayBuffer" uninitialized variable issue. 3) Multiple definition of mRedfishVariableGuid. 4) Multiple definition of medfishResourceConfigProtocolHandle.
Signed-off-by: Nickle Wang <nick...@nvidia.com> Cc: Abner Chang <abner.ch...@amd.com> Cc: Igor Kulchytskyy <ig...@ami.com> --- RedfishClientPkg/RedfishClientPkg.dec | 4 ++++ .../RedfishConfigLangMapDxe.inf | 2 ++ RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf | 2 ++ RedfishClientPkg/Include/RedfishBase.h | 4 ++-- .../EdkIIRedfishResourceConfigLib.c | 11 ++++++----- .../RedfishFeatureUtilityLib.c | 5 +++-- .../RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c | 9 +++++---- RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c | 9 +++++---- 8 files changed, 29 insertions(+), 17 deletions(-) diff --git a/RedfishClientPkg/RedfishClientPkg.dec b/RedfishClientPkg/RedfishClientPkg.dec index 67929341..d3c97ecf 100644 --- a/RedfishClientPkg/RedfishClientPkg.dec +++ b/RedfishClientPkg/RedfishClientPkg.dec @@ -2,6 +2,7 @@ # Redfish Client Package # # (C) Copyright 2021-2022 Hewlett Packard Enterprise Development LP<BR> +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent ## @@ -51,6 +52,9 @@ gEfiRedfishClientFeatureReadyToProvisioningGuid = { 0x77E4FC1C, 0x2428, 0x47EE, { 0x9E, 0xEC, 0x8B, 0x77, 0xEF, 0x9D, 0x4E, 0xF0 } } gEfiRedfishClientFeatureAfterProvisioningGuid = { 0xE547CB6F, 0x306F, 0x4226, { 0xAB, 0x70, 0xA0, 0x6E, 0x26, 0xF1, 0x2E, 0xD0 } } + ## Include/RedfishBase.h + gEfiRedfishClientVariableGuid = { 0x91c46a3d, 0xed1a, 0x477b, { 0xa5, 0x33, 0x87, 0x2d, 0xcd, 0xb0, 0xfc, 0xc1 } } + [PcdsFixedAtBuild] gEfiRedfishClientPkgTokenSpaceGuid.PcdMaxRedfishSchemaStringSize|32|UINT32|0x10000001 gEfiRedfishClientPkgTokenSpaceGuid.PcdMaxRedfishSchemaVersionSize|8|UINT32|0x10000002 diff --git a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf index 9f195338..821f0552 100644 --- a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf +++ b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf @@ -1,6 +1,7 @@ ## @file # # (C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR> +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -41,6 +42,7 @@ [Guids] gEfiEventExitBootServicesGuid ## CONSUMED ## + gEfiRedfishClientVariableGuid ## CONSUMED ## [Depex] TRUE diff --git a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf index e29a1045..4aecdb41 100644 --- a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf +++ b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf @@ -1,6 +1,7 @@ ## @file # # (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR> +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -40,6 +41,7 @@ [Guids] gEfiEventExitBootServicesGuid ## CONSUMES ## Event + gEfiRedfishClientVariableGuid ## CONSUMED ## [Depex] TRUE diff --git a/RedfishClientPkg/Include/RedfishBase.h b/RedfishClientPkg/Include/RedfishBase.h index 1abe9517..753e9ed2 100644 --- a/RedfishClientPkg/Include/RedfishBase.h +++ b/RedfishClientPkg/Include/RedfishBase.h @@ -2,6 +2,7 @@ Redfish base header file. (C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR> + Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -16,7 +17,6 @@ /// /// This GUID is used for an EFI Variable that stores the Redfish data. /// -EFI_GUID mRedfishVariableGuid = { 0x91c46a3d, 0xed1a, 0x477b, { 0xa5, 0x33, 0x87, 0x2d, 0xcd, 0xb0, 0xfc, 0xc1 } -}; +extern EFI_GUID gEfiRedfishClientVariableGuid; #endif diff --git a/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c b/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c index b1eaad75..521e2edb 100644 --- a/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c +++ b/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c @@ -2,6 +2,7 @@ Redfish resource config library implementation (C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR> + Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -17,7 +18,7 @@ #include <Library/RedfishPlatformConfigLib.h> EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL *mRedfishResourceConfigProtocol = NULL; -EFI_HANDLE medfishResourceConfigProtocolHandle; +EFI_HANDLE mCachedHandle; EDKII_REDFISH_FEATURE_INTERCHANGE_DATA_PROTOCOL mRedfishFeatureInterchangeData; REDFISH_SCHEMA_INFO mSchemaInfoCache; @@ -256,7 +257,7 @@ GetRedfishResourceConfigProtocol ( (AsciiStrCmp (Schema->Errata, mSchemaInfoCache.Errata) == 0)) { if (Handle != NULL) { - *Handle = medfishResourceConfigProtocolHandle; + *Handle = mCachedHandle; } return mRedfishResourceConfigProtocol; @@ -302,8 +303,8 @@ GetRedfishResourceConfigProtocol ( } if (Found) { - medfishResourceConfigProtocolHandle = HandleBuffer[Index]; - mRedfishResourceConfigProtocol = Protocol; + mCachedHandle = HandleBuffer[Index]; + mRedfishResourceConfigProtocol = Protocol; CopyMem (&mSchemaInfoCache, Schema, sizeof (REDFISH_SCHEMA_INFO)); if (Handle != NULL) { *Handle = HandleBuffer[Index]; @@ -379,7 +380,7 @@ EdkIIRedfishResourceSetConfigureLang ( EDKII_REDFISH_FEATURE_INTERCHANGE_DATA_PROTOCOL *Interface; Status = gBS->HandleProtocol ( - medfishResourceConfigProtocolHandle, + mCachedHandle, &gEdkIIRedfishFeatureInterchangeDataProtocolGuid, (VOID **)&Interface ); diff --git a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c index b93a9e18..e87af3d5 100644 --- a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c +++ b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c @@ -2,6 +2,7 @@ Redfish feature utility library implementation (C) Copyright 2020-2022 Hewlett Packard Enterprise Development LP<BR> + Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -1971,7 +1972,7 @@ RedfishGetUri ( // // String which has no ConfigLang remaining // - if (Head != '\0') { + if (Head[0] != '\0') { StrCatS (ResultStr, MAX_REDFISH_URL_LEN, Head); } @@ -3234,7 +3235,7 @@ AddRedfishBooleanArray ( RedfishCS_bool_Array *BooleanArrayBuffer; RedfishCS_bool_Array *PreArrayBuffer; - if ((Head == NULL) || (BooleanArrayBuffer == NULL) || (ArraySize == 0)) { + if ((Head == NULL) || (BooleanArray == NULL) || (ArraySize == 0)) { return EFI_INVALID_PARAMETER; } diff --git a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c index cea61f90..d1a73576 100644 --- a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c +++ b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c @@ -1,6 +1,7 @@ /** @file (C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR> + Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -414,16 +415,16 @@ SaveConfigLangMapList ( // Status = GetVariable2 ( VariableName, - &mRedfishVariableGuid, + &gEfiRedfishClientVariableGuid, (VOID *)&Data, NULL ); if (!EFI_ERROR (Status)) { FreePool (Data); - gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL); + gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL); } - return gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData); + return gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData); } /** @@ -459,7 +460,7 @@ InitialConfigLangMapList ( // Status = GetVariable2 ( VariableName, - &mRedfishVariableGuid, + &gEfiRedfishClientVariableGuid, (VOID *)&VarData, &VariableSize ); diff --git a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c index a4233a64..3561c11b 100644 --- a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c +++ b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c @@ -1,6 +1,7 @@ /** @file (C) Copyright 2021-2022 Hewlett Packard Enterprise Development LP<BR> + Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -401,16 +402,16 @@ SaveETagList ( // Status = GetVariable2 ( VariableName, - &mRedfishVariableGuid, + &gEfiRedfishClientVariableGuid, (VOID *)&Data, NULL ); if (!EFI_ERROR (Status)) { FreePool (Data); - gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL); + gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL); } - return gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData); + return gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData); } /** @@ -446,7 +447,7 @@ InitialETagList ( // Status = GetVariable2 ( VariableName, - &mRedfishVariableGuid, + &gEfiRedfishClientVariableGuid, (VOID *)&VarData, &VariableSize ); -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104746): https://edk2.groups.io/g/devel/message/104746 Mute This Topic: https://groups.io/mt/98842831/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-