CorebootModulePkg: Fix build failure with 32-bit NOOPT target
authorScott Duplichan <scott@notabs.org>
Fri, 10 Apr 2015 02:05:48 +0000 (02:05 +0000)
committermauricema <mauricema@Edk2>
Fri, 10 Apr 2015 02:05:48 +0000 (02:05 +0000)
Fix build failure with 32-bit NOOPT target by replacing direct shift
of 64-bit integer with a function call. Otherwise Microsoft tool chains
will generate a call to function __allshl and fail to link.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Maurice Ma <maurice.ma@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17142 6f19259b-4bc3-4df7-8a09-765794883524

CorebootModulePkg/Library/CbParseLib/CbParseLib.c

index 5535fdc..4dc74ab 100644 (file)
@@ -28,7 +28,7 @@
 \r
 static UINT64 cb_unpack64(struct cbuint64 val)\r
 {\r
-  return (((UINT64) val.hi) << 32) | val.lo;\r
+  return LShiftU64 (val.hi, 32) | val.lo;\r
 }\r
 \r
 static const char *cb_mb_vendor_string(const struct cb_mainboard *cbm)\r