UINT64 is defined as the different type for the different ARCHs. To let it work for all archs and compilers, add (unsigned long long) for the input value together with %llx.
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming....@intel.com> --- BaseTools/Source/C/Common/PcdValueCommon.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/BaseTools/Source/C/Common/PcdValueCommon.c b/BaseTools/Source/C/Common/PcdValueCommon.c index 6ca0994744..42f76ddbbc 100644 --- a/BaseTools/Source/C/Common/PcdValueCommon.c +++ b/BaseTools/Source/C/Common/PcdValueCommon.c @@ -266,11 +266,7 @@ Returns: sprintf(PcdList[Index].Value, "0x%08x", (UINT32)(Value & 0xffffffff)); break; case PcdDataTypeUint64: -#ifdef __GNUC__ - sprintf(PcdList[Index].Value, "0x%016lx", Value); -#else - sprintf(PcdList[Index].Value, "0x%016llx", Value); -#endif + sprintf(PcdList[Index].Value, "0x%016llx", (unsigned long long)Value); break; case PcdDataTypePointer: fprintf (stderr, "PCD %s.%s.%s.%s is structure. Use PcdSetPtr()\n", SkuName, DefaultValueName, TokenSpaceGuidName, TokenName); -- 2.11.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel