/edk2-BaseTools-win32

git-svn mirror of https://svn.code.sf.net/p/edk2-toolbinaries/code/trunk/Win32

Primary LanguageBatchfile

Intel is a trademark or registered trademark of Intel Corporation or its
subsidiaries in the United States and other countries.
* Other names and brands may be claimed as the property of others.

Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.

EDK II packages can be checked out from the following SVN address:
https://svn.code.sf.net/p/edk2/code/trunk/edk2 Source HEAD Revision used for this build: 27752

This directory contains the Win32 binaries.

Build Date:       Mon, 20 Aug 2018 15:48:17 Pacific Daylight Time
Last Changed Rev: 27749

############### Build System Information ###############
  OS_Name       = Windows Server 2008 R2 Enterprise (X64)
  OS_Version    = 6.1.7601 Service Pack SP1 Build 7601
  Visual Studio = Microsoft Visual Studio 14.0
  Python        = 2.7.14 (32-bit)
  cxFreeze      = 4.2.3
  antlr3        = 3.0.1

##################### Tool Versions #####################
ERROR : This tool is missing --version option: BPDG.exe
 *BootSectImage Version 1.0 Build Build 27752
  Brotli Version 0.5.2 Build 27191
  Brotli Version 0.5.2 Build 27191
 *DevicePath Version 0.1 Build 27752
  Ecc.exe Version 1.0 Build Build 27306
 *EfiLdrImage Version 1.0 Build Build 27752
 *EfiRom Version 0.1 Build 27752
 *GenBootSector Version 0.2 Build 27752
 *GenCrc32 Version 0.2 Build 27752
 *GenDepex.exe Version 0.04 Build 27752
ERROR : This tool is missing --version option: GenFds.exe
 *GenFfs Version 0.1 Build 27752
 *GenFv Version 0.1 Build 27752
 *GenFw Version 0.2 Build 27752
 *GenPage Version 0.2 Build 27752
 *GenPatchPcdTable.exe Version 0.10 Build 27752
 *GenSec Version 0.1 Build 27752
 *GenVtf Version 0.1 Build 27752
  ImportTool.bat Version 1.0
 *LzmaCompress Version 0.2 Build 27752
 *LzmaF86Compress Version 0.2 Build 27752
 *PatchPcdValue.exe Version 0.10 Build 27752
 *Pkcs7Sign Version 0.9 Build 27752
 *Rsa2048Sha256GenerateKeys Version 0.9 Build 27752
 *Rsa2048Sha256Sign Version 0.9 Build 27752
  Split Version 1.0 Build Build 27191
 *TargetTool.exe Version 0.01 Build 27752
 *TianoCompress Version 0.1 Build 27752
 *Trim.exe Version 0.10 Build 27752
 *UEFI Packaging Tool (UEFIPT) - Revision 1.1 Build Build 27752
 *VfrCompile version  2.01 (UEFI 2.4) Build Build 27752
 *VolInfo Version 1.0 Build Build 27752
 *build.exe Version 0.60 Build 27752

* This tool was updated

##################### Anti-Virus Scan #####################
McAfee VirusScan Enterprise Version 8.8.0.1385
  8/20/2018 3:48:20PM Engine version = 5900.7806
  8/20/2018 3:48:20PM AntiVirus DAT version = 8991.0
  8/20/2018 3:48:20PM Number of detection signatures in EXTRA.DAT = None
  8/20/2018 3:48:20PM Names of detection signatures in EXTRA.DAT = None
  8/20/2018 3:48:20PM Scan Started On-Demand Scan
  8/20/2018 3:48:31PM Scan Summary
  8/20/2018 3:48:31PM Processes scanned : 0
  8/20/2018 3:48:31PM Processes detected : 0
  8/20/2018 3:48:31PM Processes cleaned : 0
  8/20/2018 3:48:31PM Boot sectors scanned : 2
  8/20/2018 3:48:31PM Boot sectors detected: 0
  8/20/2018 3:48:31PM Boot sectors cleaned : 0
  8/20/2018 3:48:31PM Files scanned : 82
  8/20/2018 3:48:31PM Files with detections: 0
  8/20/2018 3:48:31PM File detections : 0
  8/20/2018 3:48:31PM Files cleaned : 0
  8/20/2018 3:48:31PM Files deleted : 0
  8/20/2018 3:48:31PM Files not scanned : 0
  8/20/2018 3:48:31PM Scan Summary (Registry Scanning)
  8/20/2018 3:48:31PM Keys scanned : 0
  8/20/2018 3:48:31PM Keys detected : 0
  8/20/2018 3:48:31PM Keys cleaned : 0
  8/20/2018 3:48:31PM Keys deleted : 0
  8/20/2018 3:48:31PM Run time : 0:00:12
  8/20/2018 3:48:31PM Scan Complete On-Demand Scan

############### SVN Log Since Last Build ################
svn log -r 27306:HEAD Source
------------------------------------------------------------------------  r27310 | edk2buildsystem | 2018-06-11 17:39:59 -0700 (Mon, 11 Jun 2018) | 10 lines
  BaseTools/UPT: Update the import statement to use StringUtils
  The patch 5a57246eab80 Rename String to StringUtils, but it didn't
  update the UPT Tool for the import statement which cause UPT tool
  break.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 64285f15264906c761b5a6772b5b590b32caa03c)

------------------------------------------------------------------------  r27316 | edk2buildsystem | 2018-06-11 17:42:41 -0700 (Mon, 11 Jun 2018) | 9 lines
  BaseTools: Remove dsc nested include checking.
  The dsc nested include checking make unexpected build error when
  building project A and switch to project B.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Derek Lin <derek.lin2@hpe.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 5163d89398c541ab03e8f6f6ab6ed479e95b4be9)

------------------------------------------------------------------------  r27326 | edk2buildsystem | 2018-06-13 02:05:49 -0700 (Wed, 13 Jun 2018) | 13 lines
  BaseTools: Fix one bug of nest !include parser
  The case is DSC file include file1, file1 include file2, after parse
  file2 finished, DSC parser get the wrong section type, then it would
  report invalid error.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Tested-by: Michael D Kinney <michael.d.kinney@intel.com>
  (cherry picked from commit 46e4b3940e2f1862aa605900616a543a43f17222)

------------------------------------------------------------------------  r27327 | edk2buildsystem | 2018-06-13 02:06:11 -0700 (Wed, 13 Jun 2018) | 10 lines
  BaseTools: refactor to remove functions
  refactoring almost identical functions to delete and use the other.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit c14b58614ffb992dfc668966a19becb86614aafc)

------------------------------------------------------------------------  r27328 | edk2buildsystem | 2018-06-13 02:06:39 -0700 (Wed, 13 Jun 2018) | 8 lines
  BaseTools: Cleanup unneeded code
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit caf744956d4c8c0ef358bdc3df2cdb10265c2ea8)

------------------------------------------------------------------------  r27333 | edk2buildsystem | 2018-06-14 02:05:31 -0700 (Thu, 14 Jun 2018) | 9 lines
  BaseTools: remove including Base.h if the module type is not BASE
  According the module type to include the header file.
  Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=867
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit b1aff264bf6a007a27d0ebadcce96b72b727c3c8)

------------------------------------------------------------------------  r27356 | edk2buildsystem | 2018-06-19 02:05:58 -0700 (Tue, 19 Jun 2018) | 11 lines
  BaseTools/WorkspaceCommon: Import used BuildToolError messages.
  Commit c14b58614ffb992dfc668966a19becb86614aafc added a few build
  error message display calls to WorkspaceCommon.py without importing
  the message resources explicitely. This commit adds imports the
  missing directives.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 87a46244723ad8ddce2fcf611e569ada86dc80f2)

------------------------------------------------------------------------  r27372 | edk2buildsystem | 2018-06-22 02:05:42 -0700 (Fri, 22 Jun 2018) | 8 lines
  BaseTools: remove the unneeded code
  Do a clean up to remove the unneeded code.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit c91fb6b4fc8b484e13ba180fa12c6736908d8017)

------------------------------------------------------------------------  r27373 | edk2buildsystem | 2018-06-22 02:06:03 -0700 (Fri, 22 Jun 2018) | 10 lines
  BaseTools: Enhance BaseTools supports FeaturePcd usage in VFR file
  Bugzilla 348 only fixed FixedAtBuild Pcd type, now this patch also add
  support for FeaturePcd type.
  Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=348
  Contributed-under: TianoCore Contribution Agreement 1.0
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 58cf30f71f03bcf2fbf369d51e05c8f17176e129)

------------------------------------------------------------------------  r27374 | edk2buildsystem | 2018-06-22 02:06:27 -0700 (Fri, 22 Jun 2018) | 14 lines
  BaseTools: introduce !error statement
  The DSC and FDF file can use `!error` statement. The argument of this
  statement is an error message, it causes build tool to stop at the
  location where the statement is encountered and error message following
  the `!error` statement is output as a message.
  Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=701
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 09ef8e92580caddc24f8f1db6ea0e8223890085f)

------------------------------------------------------------------------  r27403 | edk2buildsystem | 2018-06-27 02:09:09 -0700 (Wed, 27 Jun 2018) | 11 lines
  BaseTools: Refactor python except statements
  Convert "except ... ," to "except ... as" to be compatible with python3.
  Based on "futurize -f lib2to3.fixes.fix_except"
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 5b0671c1e514e534c6d5be9604da33bfc2cd0a24)

------------------------------------------------------------------------  r27404 | edk2buildsystem | 2018-06-27 02:10:43 -0700 (Wed, 27 Jun 2018) | 11 lines
  BaseTools: Refactor python print statements
  Refactor print statements to be compatible with python 3.
  Based on "futurize -f libfuturize.fixes.fix_print_with_import"
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 72443dd25014a8b6209895640af36dec33da51e0)

------------------------------------------------------------------------  r27405 | edk2buildsystem | 2018-06-27 02:11:30 -0700 (Wed, 27 Jun 2018) | 10 lines
  BaseTools: Remove the old python "not-equal"
  Replace "<>" with "!=" to be compatible with python3.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 87d2afd07c822e6d5ab12bc8dc0f0bfa31bea679)

------------------------------------------------------------------------  r27406 | edk2buildsystem | 2018-06-27 02:11:54 -0700 (Wed, 27 Jun 2018) | 11 lines
  BaseTools: Remove tuple parameter in python scripts
  According to PEP3113, tuple parameter is removed in python 3.
  (PEP3113: https://www.python.org/dev/peps/pep-3113/)
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 890d8ede6867dd43d96b5b04454f0b571938e3a3)

------------------------------------------------------------------------  r27407 | edk2buildsystem | 2018-06-27 02:12:55 -0700 (Wed, 27 Jun 2018) | 11 lines
  BaseTools: Remove the deprecated hash_key()
  Replace "has_key()" with "in" to be compatible with python3.
  Based on "futurize -f lib2to3.fixes.fix_has_key"
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 27c4ceb41cf6b79d440deae215c68e117d69d641)

------------------------------------------------------------------------  r27408 | edk2buildsystem | 2018-06-27 02:13:19 -0700 (Wed, 27 Jun 2018) | 11 lines
  BaseTools: Replace StandardError with Expression
  StandardError has been removed from python 3.
  Replace it with Exception.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 92beb1e4c73a40a708c7c0cade5c7cee314b3887)

------------------------------------------------------------------------  r27411 | edk2buildsystem | 2018-06-27 02:15:25 -0700 (Wed, 27 Jun 2018) | 10 lines
  BaseTools: Adjust the spaces around commas and colons
  Based on "futurize -f lib2to3.fixes.fix_ws_comma"
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit ccaa7754a29728df0a7485932aab4909f6be116a)

------------------------------------------------------------------------  r27412 | edk2buildsystem | 2018-06-27 02:16:11 -0700 (Wed, 27 Jun 2018) | 11 lines
  BaseTools: Migrate to the new octal literal
  Change the octal literals according to PEP3127
  https://www.python.org/dev/peps/pep-3127/
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 2617a73c3628473bacea887d885bdd1e7808ccc6)

------------------------------------------------------------------------  r27413 | edk2buildsystem | 2018-06-27 02:17:16 -0700 (Wed, 27 Jun 2018) | 35 lines
  BaseTools: Fix old python2 idioms
  Based on "futurize -f lib2to3.fixes.fix_idioms"
  * Change some type comparisons to isinstance() calls:
  type(x) == T -> isinstance(x, T)
  type(x) is T -> isinstance(x, T)
  type(x) != T -> not isinstance(x, T)
  type(x) is not T -> not isinstance(x, T)
  * Change "while 1:" into "while True:".
  * Change both
  v = list(EXPR)
  v.sort()
  foo(v)
  and the more general
  v = EXPR
  v.sort()
  foo(v)
  into
  v = sorted(EXPR)
  foo(v)
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 0d1f5b2b5dc3c1cf381be0a1ec8f960dc6029a93)

------------------------------------------------------------------------  r27414 | edk2buildsystem | 2018-06-27 02:18:07 -0700 (Wed, 27 Jun 2018) | 12 lines
  BaseTools: Replace StringIO.StringIO with io.BytesIO
  Replace StringIO.StringIO with io.BytesIO to be compatible with python3.
  This commit also removes "import StringIO" from those python scripts
  that don't really use it.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 86379ac48ba17c71d4623c57099b064b15118e21)

------------------------------------------------------------------------  r27415 | edk2buildsystem | 2018-06-27 02:18:42 -0700 (Wed, 27 Jun 2018) | 11 lines
  BaseTools: AutoGen - Remove unused variables.
  There are 2 variables that we populate, but never use.
  remove them entirely.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 3c920616bb22c7f08d473ee555c1f51930aba35e)

------------------------------------------------------------------------  r27417 | edk2buildsystem | 2018-06-28 02:06:09 -0700 (Thu, 28 Jun 2018) | 10 lines
  BaseTools: Move variable out of Global
  Move single use list from GlobalData (gTempInfs) into the file that uses it as _TempInfs
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 2b5c643ae8f7e72a56deeacead6b5302a076d329)

------------------------------------------------------------------------  r27442 | edk2buildsystem | 2018-06-29 02:05:56 -0700 (Fri, 29 Jun 2018) | 27 lines
  BaseTools: Fix parsing multiple nest !include issue
  Fix the bug !include file in Components subsection meet syntax error.
  Case example:
  DSC components:
  !include Test1.txt
  Test1.txt:
  TestPkg/TestDriver.inf {
  <PcdsFixedAtBuild>
  PcdToken.PcdTest1 | "A"
  !include Test2.txt
  }
  Test2.txt:
  !include Test3.txt
  Test3.txt:
  PcdToken.PcdTest2 | "B"
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit cd7bd491f3f9c43e4bb6c9516784ef3a09b6e337)

------------------------------------------------------------------------  r27443 | edk2buildsystem | 2018-06-29 02:06:18 -0700 (Fri, 29 Jun 2018) | 22 lines
  BaseTools: Fix two drivers include the same file issue
  Two drivers include the same PCD file, the PCD value in the first
  driver is correct, but it in the second driver is incorrect.
  DSC:
  [Components]
  Testpkg/Testdriver1.inf {
  <PcdsFixedAtBuild>
  !include Test.txt
  }
  Testpkg/Testdriver2.inf {
  <PcdsFixedAtBuild>
  !include Test.txt
  }
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 395f33368620e13b64f7f5c10fd1d87c7559a2fc)

------------------------------------------------------------------------  r27444 | edk2buildsystem | 2018-06-29 02:06:38 -0700 (Fri, 29 Jun 2018) | 12 lines
  BaseTools: AutoGen - clean up access
  1) add a property so others can access needed data
  2) change GenMake to use property
  3) add local variable in GenMake to speed up access
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 7c12d613ba78d2b5ab781a91bbb011304ffab705)

------------------------------------------------------------------------  r27445 | edk2buildsystem | 2018-06-29 02:06:56 -0700 (Fri, 29 Jun 2018) | 10 lines
  BaseTools: AutoGen - move constructor out of loop
  Create the 2 comparison objects once outside the loop.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit b420d9850282ebbcb452ce24ac42f27802fa0c70)

------------------------------------------------------------------------  r27479 | edk2buildsystem | 2018-07-04 02:05:32 -0700 (Wed, 04 Jul 2018) | 29 lines
  BaseTools/Trim: Normalize filepaths to fix comparisons on Windows
  When using Linaro GCC5+ arm-eabi toolchain on Windows, the generated
  DSDT.iii contains a canonicalized ("\.\" removed and lower case)
  filepath for the preprocessed DSDT.i file in the first line.
  Trim.exe is called on DSDT.iii to generate DSDT.iiii, which does a
  line for line comparison of filepaths encountered to the preprocessed
  DSDT.i filepath found in the first line to determine what lines to
  place in DSDT.iiii. Since the DSDT.i filepath is canonicalized and
  all later filepaths in DSDT.iii are not canonicalized, all comparisons
  fail and the result is in an empty DSDT.iiii.
  Issue was first reported to Linaro here:
  https://bugs.linaro.org/show_bug.cgi?id=2909
  where the recommendation was to address the issue in Trim.exe.
  This patch normalizes the case and pathname of all filepaths
  encountered during Trim.exe execution on preprocessed files.  This
  fixes comparisons of filepaths that contain mismatching case on
  case-insensitive filesystems, redundant separators, and uplevel
  references.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Christopher Co <christopher.co@microsoft.com>
  Cc: Leif Lindholm <leif.lindholm@linaro.org>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 5895956dd955714c0e578a413d0e289153cc9eea)

------------------------------------------------------------------------  r27489 | edk2buildsystem | 2018-07-08 02:05:44 -0700 (Sun, 08 Jul 2018) | 10 lines
  BaseTools: Remove the old python "not-equal" in DscBuildData.py
  Replace "<>" with "!=" to be compatible with python3.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 9fb2cbdac4cb3122d72223cff02395daf751e365)

------------------------------------------------------------------------  r27490 | edk2buildsystem | 2018-07-08 02:06:08 -0700 (Sun, 08 Jul 2018) | 19 lines
  BaseTools: Unify long and int in Expression.py
  Per PEP237(*), 'long' is unified with 'int' and removed from python3.
  * To make the script compatible with both python2 and python3,
  'type(0L)' is replaced with 'type(sys.maxsize + 1)'. In python2,
  the number is 'long', while it's 'int' in python3. We can remove
  the workaround after moving to python3 completely.
  * long() is replaced with int() since int() returns a long when need.
  (*) https://www.python.org/dev/peps/pep-0237/
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 39456d00f36e04b7e7efb208f350f4e83b6c3531)

------------------------------------------------------------------------  r27491 | edk2buildsystem | 2018-07-09 02:10:36 -0700 (Mon, 09 Jul 2018) | 11 lines
  BaseTools: Clean up source files
  1. Do not use tab characters
  2. No trailing white space in one line
  3. All files must end with CRLF
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit f7496d717357b9af78414d19679b073403812340)

------------------------------------------------------------------------  r27492 | edk2buildsystem | 2018-07-09 02:12:34 -0700 (Mon, 09 Jul 2018) | 10 lines
  BaseTool: Add cache for the result of SkipAutogen.
  Add a cache for the value of skip ModuleAutoGen
  process flag. This cache can improve build performance.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Bob Feng <bob.c.feng@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 18ef4e713f2fb5d2f84d179b9861b4afee212f65)

------------------------------------------------------------------------  r27494 | edk2buildsystem | 2018-07-10 02:05:37 -0700 (Tue, 10 Jul 2018) | 11 lines
  BaseTools: Fix the bug that incorrect size info in the Lib autogen
  The case is a PCD used in one library only, and in DSC component
  section the PCD value is override in one of module inf. Then it cause
  the bug the PCD size in the Lib autogen use the PCD value in the DSC
  PCD section, but not use the override value.
  Contributed-under: TianoCore Contribution Agreement 1.0
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 9edba51f93d8e81e09f905afc994efe02dbe524e)

------------------------------------------------------------------------  r27500 | edk2buildsystem | 2018-07-11 02:06:38 -0700 (Wed, 11 Jul 2018) | 45 lines
  BaseTools/GenFw: Add X64 GOTPCREL Support to GenFw
  Adds support for the following X64 ELF relocations to GenFw
  R_X86_64_GOTPCREL
  R_X86_64_GOTPCRELX
  R_X86_64_REX_GOTPCRELX
  Background:
  The GCC49 and GCC5 toolchains use the small pie model for X64.  In the
  small pie model, gcc emits a GOTPCREL relocation whenever C code takes
  the address of a global function.  The emission of GOTPCREL is mitigated
  by several factors
  1. In GCC49, all global symbols are declared hidden thereby eliminating
  the emission of GOTPCREL.
  2. In GCC5, LTO is used.  In LTO, the complier first creates intermediate
  representation (IR) files.  During the static link stage, the LTO compiler
  combines all IR files as a single compilation unit, using linker symbol
  assistance to generate code.  Any global symbols defined in the IR that
  are not referenced from outside the IR are converted to local symbols -
  thereby eliminating the emission of GOTPCREL for them.
  3. The linker (binutils ld) further transforms any GOTPCREL used with
  the movq opcode to a direct rip-relative relocation used with the leaq
  opcode.  This linker optimization can be disabled with the option
  -Wl,--no-relax.  Furthermore, gcc is able to emit GOTPCREL with other
  opcodes
  - pushq opcode for passing arguments to functions.
  - addq/subq opcodes for pointer arithmetic.
  These other opcode uses are not transformed by the linker.
  Ultimately, in GCC5 there are some emissions of GOTPCREL that survive
  all these mitigations - if C code takes the address of a global function
  defined in assembly code - and performs pointer arithmetic on the
  address - then the GOTPCREL remains in the final linker product.
  A GOTPCREL relocation today causes the build to stop since GenFw does
  not handle them.  It is possible to eliminate any remaining GOTPCREL
  emissions by manually declaring the global symbols causing them to have
  hidden visibility.  This patch is offered instead to allow GenFw to
  handle any residual GOTPCREL.
  Cc: Shi Steven <steven.shi@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Zenith432 <zenith432@users.sourceforge.net>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit ecbaa856da0c94b7054f795d001ee3f5aaee033e)

------------------------------------------------------------------------  r27501 | edk2buildsystem | 2018-07-11 02:06:48 -0700 (Wed, 11 Jul 2018) | 9 lines
  BaseTools/GenFw: Disable support for R_X86_64_32S
  REF:https://bugzilla.tianocore.org/show_bug.cgi?id=999
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Zenith432 <zenith432@users.sourceforge.net>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit c6a14de3ef30291918f3b15436cf6a75db413eea)

------------------------------------------------------------------------  r27504 | edk2buildsystem | 2018-07-12 02:06:58 -0700 (Thu, 12 Jul 2018) | 10 lines
  BaseTool: Fixed the incorrect cache key.
  This patch is to fix the incorrect cache key of
  skip ModuleAutoGen cache.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Bob Feng <bob.c.feng@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 0a563f3fecfd9baffe8dce51bb4411d6a748a936)

------------------------------------------------------------------------  r27516 | edk2buildsystem | 2018-07-16 02:06:09 -0700 (Mon, 16 Jul 2018) | 7 lines
  BaseTools: Enable structure pcd in FDF file
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Bob Feng <bob.c.feng@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 543f5ac30facfbb40eafb2b4908649a427784080)

------------------------------------------------------------------------  r27518 | edk2buildsystem | 2018-07-16 02:06:46 -0700 (Mon, 16 Jul 2018) | 51 lines
  BaseTools: Use absolute import in GenFds
  Based on "futurize -f libfuturize.fixes.fix_absolute_import"
  Since circular import is not allowed after adopting absolute import, the
  following changes are applied to break the circles.
  * BaseTools/Source/Python/GenFds/Capsule.py
  - Delay "from .GenFds import GenFds" until GenCapsule()
  - Delay "from .GenFds import FindExtendTool" until GenFmpCapsule()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Capsule => GenFds.GenFds =>
  GenFds.FdfParser
  * BaseTools/Source/Python/GenFds/Fd.py
  - Delay "from .GenFds import GenFds" until GenFd()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Fd => GenFds.GenFds =>
  GenFds.FdfParser
  * BaseTools/Source/Python/GenFds/Fv.py
  - Delay "from .GenFds import GenFds" until AddToBuffer()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Fd => GenFds.Fv =>
  GenFds.GenFds => GenFds.FdfParser
  * BaseTools/Source/Python/GenFds/GuidSection.py
  - Delay "from .GenFds import FindExtendTool" until GuidSection()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Fd => GenFds.Fv =>
  GenFds.AprioriSection => GenFds.FfsFileStatement => GenFds.GuidSection =>
  GenFds.GenFds => GenFds.FdfParser
  * BaseTools/Source/Python/GenFds/OptRomInfStatement.py
  - Delay "from . import OptionRom" until __GetOptRomParams()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.OptionRom =>
  GenFds.OptRomInfStatement => GenFds.OptionRom
  * BaseTools/Source/Python/GenFds/OptionRom.py
  - Remove the unused "from GenFds import GenFds"
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.OptionRom =>
  GenFds.GenFds => GenFds.FdfParser
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit bfa65b61dde887a9586e070101202bd37e3221fd)

------------------------------------------------------------------------  r27519 | edk2buildsystem | 2018-07-16 02:07:09 -0700 (Mon, 16 Jul 2018) | 12 lines
  BaseTools: Move OverrideAttribs to OptRomInfStatement.py
  Move "class OverrideAttribs" to OptRomInfStatement.py to remove
  "import OptionRom" which may form a circular import:
  GenFds.OptionRom => GenFds.OptRomInfStatement => GenFds.OptionRom
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 8f3f5794b4b0027ee118fc6e03ea01620e6cd9d4)

------------------------------------------------------------------------  r27520 | edk2buildsystem | 2018-07-16 02:07:38 -0700 (Mon, 16 Jul 2018) | 26 lines
  BaseTools: Move FindExtendTool to GenFdsGlobalVariable.py
  Importing "FindExtendTool" from GenFds.GenFds could create the following
  circular imports:
  * GenFds.FdfParser => GenFds.Capsule => GenFds.GenFds => GenFds.FdfParser
  * GenFds.FdfParser => GenFds.Fd => GenFds.Fv => GenFds.AprioriSection =>
  GenFds.FfsFileStatement => GenFds.GuidSection => GenFds.GenFds =>
  GenFds.FdfParser
  This commit moves "FindExtendTool" to GenFdsGlobalVariable.py to break
  the circles. Besides, FindExtendTool is tweaked slightly with the
  following changes:
  ToolDefClassObject.ToolDefDict => ToolDefDict
  TAB_GUID => DataType.TAB_GUID
  TAB_TOD_DEFINES_TARGET => DataType.TAB_TOD_DEFINES_TARGET
  TAB_TOD_DEFINES_TOOL_CHAIN_TAG => DataType.TAB_TOD_DEFINES_TOOL_CHAIN_TAG
  TAB_TOD_DEFINES_TARGET_ARCH => DataType.TAB_TOD_DEFINES_TARGET_ARCH
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 89a69d4b643803d0b52945ca0620376e79f51ed7)

------------------------------------------------------------------------  r27521 | edk2buildsystem | 2018-07-16 02:08:18 -0700 (Mon, 16 Jul 2018) | 17 lines
  BaseTools: Move ImageBinDict to GenFdsGlobalVariable.py
  Move "ImageBinDict" from GenFds.py to GenFdsGlobalVariable.py so that we
  can remove the requirement to import GenFds.GenFds in Capsule.py, Fd.py and
  Fv.py. This breaks the following circular imports:
  * GenFds.FdfParser => GenFds.Capsule => GenFds.GenFds => GenFds.FdfParser
  * GenFds.FdfParser => GenFds.Fd => GenFds.GenFds => GenFds.FdfParser
  * GenFds.FdfParser => GenFds.Fd => GenFds.Fv => GenFds.GenFds =>
  GenFds.FdfParser
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 7de0083812245ec2d0b35667ef4a1aa262e006e0)

------------------------------------------------------------------------  r27522 | edk2buildsystem | 2018-07-16 02:08:48 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in AutoGen
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 0ff3b52e065cc702a64d5a9016ee7926025dfbc7)

------------------------------------------------------------------------  r27524 | edk2buildsystem | 2018-07-16 02:09:09 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in BPDG
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 72a836c00a3bd57420a324bd9cf086298849e21b)

------------------------------------------------------------------------  r27525 | edk2buildsystem | 2018-07-16 02:09:24 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in Common
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit f3fc5b47ad195dd9e2b644cb294448a386e18a53)

------------------------------------------------------------------------  r27527 | edk2buildsystem | 2018-07-16 02:09:59 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in Ecc
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit b6f6b636b038e780c87892b17835bb6d043523b8)

------------------------------------------------------------------------  r27528 | edk2buildsystem | 2018-07-16 02:10:15 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in Eot
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 64429fbd61d445b892a78f4e55b0b83c184790bd)

------------------------------------------------------------------------  r27529 | edk2buildsystem | 2018-07-16 02:10:34 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in Table
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 3d87290487d174656fa6dee9d1f0d82a4c4294b5)

------------------------------------------------------------------------  r27530 | edk2buildsystem | 2018-07-16 02:10:47 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in UPT
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit ac107416484b74e5d412f7b48268761f9ba95afe)

------------------------------------------------------------------------  r27531 | edk2buildsystem | 2018-07-16 02:11:17 -0700 (Mon, 16 Jul 2018) | 10 lines
  BaseTools: Use absolute import in Workspace
  Based on "futurize -f libfuturize.fixes.fix_absolute_import
  Contributed-under: TianoCore Contribution Agreement 1.1
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Signed-off-by: Gary Lin <glin@suse.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit 1100bc5aa05097306cdecc4d0118cc312da79d45)

------------------------------------------------------------------------  r27533 | edk2buildsystem | 2018-07-16 14:05:39 -0700 (Mon, 16 Jul 2018) | 9 lines
  BaseTools: Fixed build Ovmfpkg failed issue.
  Fixed the regression issues caused by 543f5ac30facfbb40eafb2b4908649a427784080
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Bob Feng <bob.c.feng@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 4c6d0de7bad46fc15fd34d394dffda3766e3a6a1)

------------------------------------------------------------------------  r27535 | edk2buildsystem | 2018-07-18 02:05:34 -0700 (Wed, 18 Jul 2018) | 14 lines
  BaseTools: Remove the duplicate Pcd items
  The case is the Pcd item both used in 1 module inf and 1 lib inf, and
  in the DSC component section, it override the Pcd value.
  In the module, the pcd value is the override value, but in the lib inf
  the pcd value is the value that in the DSC PCD section's value, then it
  cause the Pcd value is different in the module and lib. but actually we
  only need use the Pcd value in the module to decide whether it use the
  same value.
  Contributed-under: TianoCore Contribution Agreement 1.0
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit d900d7c9857a676d9271a0ab499c12b379dc3652)

------------------------------------------------------------------------  r27559 | edk2buildsystem | 2018-07-23 02:06:09 -0700 (Mon, 23 Jul 2018) | 16 lines
  BaseTools: enable FixedAtBuild (VOID*) PCD use in the [DEPEX] section
  V3: Add some invalid type and datum check
  V2: limit the PCD used in the [Depex] section should be used in the module
  The PCD item used in INF [Depex] section must be defined as FixedAtBuild
  type and VOID* datum type, and the size of the PCD must be 16 bytes.
  Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=443
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit a10def91653163dbc6a38a609a87b370e9035654)

------------------------------------------------------------------------  r27566 | edk2buildsystem | 2018-07-23 02:07:41 -0700 (Mon, 23 Jul 2018) | 7 lines
  BaseTools: ElfConvert Tool update VerboseMsg to same with the comment
  Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=994
  Contributed-under: TianoCore Contribution Agreement 1.0
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 1794b98f72fb087f012602c4d1450762dd62906d)

------------------------------------------------------------------------  r27567 | edk2buildsystem | 2018-07-23 02:07:53 -0700 (Mon, 23 Jul 2018) | 13 lines
  BaseTools/AutoGen: Update header file for MM modules.
  This patch corrects the Module Type Header file for Management Mode(MM)
  as specified in PI v1.6 Specification. Also, it updates parameter for
  auto generated template functions from EFI_SMM_SYSTEM_TABLE2 to
  EFI_MM_SYSTEM_TABLE.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
  Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 549ae85ce1b00228c3abcf6a9e4022c4f4fba5ed)

------------------------------------------------------------------------  r27569 | edk2buildsystem | 2018-07-24 02:05:41 -0700 (Tue, 24 Jul 2018) | 9 lines
  BaseTools: Correct _PCD_PATCHABLE_TokenName_SIZE's value
  current if user use PatchPcdSetPtr in library, it will report the
  _PCD_PATCHABLE_TokenName_SIZE is not defined.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit bfa7eeb61d94623ddbe43b916a0bb1dc0f73a292)

------------------------------------------------------------------------  r27570 | edk2buildsystem | 2018-07-24 02:06:03 -0700 (Tue, 24 Jul 2018) | 15 lines
  BaseTools: Fix the different token with the same PCD
  If the different token with the same PCD names are used in the driver,
  build can pass. If the different token with the same PCD name are used
  in the different library, then the driver build will fail. The reason
  is that the driver autogen.c is not generated correctly for the second
  case. BaseTools should check the duplicated PCD name is the driver and
  its linked libraries.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 5b73e17fb17c6935d894b0084f32421e717c247f)

------------------------------------------------------------------------  r27573 | edk2buildsystem | 2018-07-25 02:05:32 -0700 (Wed, 25 Jul 2018) | 12 lines
  BaseTools: AutoGen - change class variable to funciton variable
  This variable is only used in one function, make it local there.
  Also when iterating on the variable, use dict.items() to get value
  instead of re-looking up the value multiple times.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 0f78fd73496f26d45516f6c453a66f35edca6ab0)

------------------------------------------------------------------------  r27574 | edk2buildsystem | 2018-07-25 02:05:40 -0700 (Wed, 25 Jul 2018) | 11 lines
  BaseTools: Fix build report for *P and *M flag incorrectly
  Flag *M for INF defined value and DSC components value
  Flag *P only for platform defined value
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 5df16ecb7fcfc611d35af494658e0793c16e687f)

------------------------------------------------------------------------  r27577 | edk2buildsystem | 2018-07-26 02:05:36 -0700 (Thu, 26 Jul 2018) | 10 lines
  BaseTools/Ecc: Add some new checkpoints
  1. Add a checkpoint to check NO TABs.
  2. Add a checkpoint to check line ending with CRLF.
  3. Add a checkpoint to check no trailing spaces.
  Contributed-under: TianoCore Contribution Agreement 1.0
  Signed-off-by: Hess Chen <hesheng.chen@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit a1583a877b9aba07facd567dfe4c72679ae3ca04)

------------------------------------------------------------------------  r27600 | edk2buildsystem | 2018-07-27 02:06:09 -0700 (Fri, 27 Jul 2018) | 15 lines
  BaseTools: Parse decimal format INF_VERSION incorrect
  hex number 0x00010019, the major number is 0001, the
  minor number is 0019.
  the decimal number 1.25, the major number is 1, and the
  minor number is 25
  Fix https://bugzilla.tianocore.org/show_bug.cgi?id=921
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit f413763b6b8f2798595d468cf868ae5985d3eabc)

------------------------------------------------------------------------  r27601 | edk2buildsystem | 2018-07-27 02:06:18 -0700 (Fri, 27 Jul 2018) | 13 lines
  BaseTools: Fix bug about *M value not display decimal and hexadecimal
  V2: Add the check for Pcd DatumType
  report format like as below:
  *M     Shell.inf         = 0xFF (255)
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit cef7ecf6cdb44de1520c5d0be9b2c982b59eabc4)

------------------------------------------------------------------------  r27621 | edk2buildsystem | 2018-07-30 02:05:32 -0700 (Mon, 30 Jul 2018) | 12 lines
  BaseTools: Fix build crash when fdf is empty file
  Fix build crash when fdf is empty file
  Fix https://bugzilla.tianocore.org/show_bug.cgi?id=912
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 3b46dd93ddf65a2cf1377bc72cdeb8ae3f7d81c8)

------------------------------------------------------------------------  r27622 | edk2buildsystem | 2018-07-30 02:05:44 -0700 (Mon, 30 Jul 2018) | 11 lines
  BaseTools: Update build report for StructurePcd value
  Update build report to display the structure Pcd value that from
  FDF file.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 39f0156fce373c0c0a04d85928b7d8761037134e)

------------------------------------------------------------------------  r27637 | edk2buildsystem | 2018-08-02 02:05:56 -0700 (Thu, 02 Aug 2018) | 10 lines
  BaseTools: remove unused import thread
  remove unused import thread
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 26067e30c48da27df41252444fce66a6418a613b)

------------------------------------------------------------------------  r27638 | edk2buildsystem | 2018-08-02 02:06:06 -0700 (Thu, 02 Aug 2018) | 10 lines
  BaseTools: Use pickle to replace cPickle
  Use pickle to replace cPickle because of python3 removed cPickle
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 3a0c1bf64b5deaa4e227b311cc43aa1513beae5e)

------------------------------------------------------------------------  r27639 | edk2buildsystem | 2018-08-03 02:06:08 -0700 (Fri, 03 Aug 2018) | 88 lines
  BaseTools/Capsule: Add Capsule Generation Tools
  https://bugzilla.tianocore.org/show_bug.cgi?id=945
  Based on content from the following branch
  https://github.com/Microsoft/MS_UEFI/tree/share/beta/CapsuleTools
  * Convert C tools to Python
  * Add common python modules to:
  BaseTools/Source/Python/Common/Uefi/Capsule
  BaseTools/Source/Python/Common/Edk2/Capsule
  * Add GenerateCapsule.py to BaseTools/Source/Python/Capsule
  * Add Windows and Posix wrappers for GenerateCapsule.py
  usage: GenerateCapsule [-h] [-o OUTPUTFILE] (-e | -d | --dump-info)
  [--capflag {PersistAcrossReset,PopulateSystemTable,InitiateReset}]
  [--capoemflag CAPSULEOEMFLAG] [--guid GUID]
  [--hardware-instance HARDWAREINSTANCE]
  [--monotonic-count MONOTONICCOUNT]
  [--fw-version FWVERSION] [--lsv LOWESTSUPPORTEDVERSION]
  [--pfx-file SIGNTOOLPFXFILE]
  [--signer-private-cert OPENSSLSIGNERPRIVATECERTFILE]
  [--other-public-cert OPENSSLOTHERPUBLICCERTFILE]
  [--trusted-public-cert OPENSSLTRUSTEDPUBLICCERTFILE]
  [--signing-tool-path SIGNINGTOOLPATH] [--version] [-v]
  [-q] [--debug [0-9]]
  InputFile
  Generate a capsule. Copyright (c) 2018, Intel Corporation. All rights
  reserved.
  positional arguments:
  InputFile             Input binary payload filename.
  optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUTFILE, --output OUTPUTFILE
  Output filename.
  -e, --encode          Encode file
  -d, --decode          Decode file
  --dump-info           Display FMP Payload Header information
  --capflag {PersistAcrossReset,PopulateSystemTable,InitiateReset}
  Capsule flag can be PersistAcrossReset, or
  PopulateSystemTable or InitiateReset or not set
  --capoemflag CAPSULEOEMFLAG
  Capsule OEM Flag is an integer between 0x0000 and
  0xffff.
  --guid GUID           The FMP/ESRT GUID in registry format. Required for
  encode operations.
  --hardware-instance HARDWAREINSTANCE
  The 64-bit hardware instance. The default is
  0x0000000000000000
  --monotonic-count MONOTONICCOUNT
  64-bit monotonic count value in header. Default is
  0x0000000000000000.
  --fw-version FWVERSION
  The 32-bit version of the binary payload (e.g.
  0x11223344 or 5678).
  --lsv LOWESTSUPPORTEDVERSION
  The 32-bit lowest supported version of the binary
  payload (e.g. 0x11223344 or 5678).
  --pfx-file SIGNTOOLPFXFILE
  signtool PFX certificate filename.
  --signer-private-cert OPENSSLSIGNERPRIVATECERTFILE
  OpenSSL signer private certificate filename.
  --other-public-cert OPENSSLOTHERPUBLICCERTFILE
  OpenSSL other public certificate filename.
  --trusted-public-cert OPENSSLTRUSTEDPUBLICCERTFILE
  OpenSSL trusted public certificate filename.
  --signing-tool-path SIGNINGTOOLPATH
  Path to signtool or OpenSSL tool. Optional if path to
  tools are already in PATH.
  --version             show program's version number and exit
  -v, --verbose         Turn on verbose output with informational messages
  printed, including capsule headers and warning
  messages.
  -q, --quiet           Disable all messages except fatal errors.
  --debug [0-9]         Set debug level
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 8b63877aca1e5a3576b7275439c494a6d40ed1b5)

------------------------------------------------------------------------  r27641 | edk2buildsystem | 2018-08-03 02:06:31 -0700 (Fri, 03 Aug 2018) | 14 lines
  BaseTools/Capsule: Add max value checks to Capsule Generation tools
  https://bugzilla.tianocore.org/show_bug.cgi?id=1021
  https://bugzilla.tianocore.org/show_bug.cgi?id=1022
  https://bugzilla.tianocore.org/show_bug.cgi?id=1026
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 6ed4651cb560caba91a989550734206f01ffd7d1)

------------------------------------------------------------------------  r27642 | edk2buildsystem | 2018-08-03 02:06:40 -0700 (Fri, 03 Aug 2018) | 12 lines
  BaseTools/Capsule: Remove support for PopulateSystemTable
  https://bugzilla.tianocore.org/show_bug.cgi?id=1030
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 2779c222c80533677e0cb54cc19d0287d280647f)

------------------------------------------------------------------------  r27643 | edk2buildsystem | 2018-08-03 02:06:50 -0700 (Fri, 03 Aug 2018) | 12 lines
  BaseTools/Capsule: Fix CertType GUID byte order
  https://bugzilla.tianocore.org/show_bug.cgi?id=1024
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 4619b183f71c1a7c966927060e99aa1f887f605e)

------------------------------------------------------------------------  r27644 | edk2buildsystem | 2018-08-03 02:06:59 -0700 (Fri, 03 Aug 2018) | 12 lines
  BaseTools/Capsule: Do not support -o with --dump-info
  https://bugzilla.tianocore.org/show_bug.cgi?id=1025
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit f33d5d68abc02727dc828c1079e72ab65e1d63af)

------------------------------------------------------------------------  r27645 | edk2buildsystem | 2018-08-03 02:07:07 -0700 (Fri, 03 Aug 2018) | 15 lines
  BaseTools/Capsule: Update help for --fw-version and --lsv
  Update help to state that --fw-version and -=-lsv are required
  for encode operations that sign a payload.
  https://bugzilla.tianocore.org/show_bug.cgi?id=1029
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit ff307fba9857145875839fdca33c95236e238153)

------------------------------------------------------------------------  r27646 | edk2buildsystem | 2018-08-03 02:07:17 -0700 (Fri, 03 Aug 2018) | 17 lines
  BaseTools/Capsule: Update file header with tool limitations
  Update file header to state that the tool does not support:
  * Multiple payloads
  * Drivers
  * Vendor code bytes
  https://bugzilla.tianocore.org/show_bug.cgi?id=1031
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit d6f079b600cc88367c20b5eec5a28d28d3ceaca8)

------------------------------------------------------------------------  r27647 | edk2buildsystem | 2018-08-03 02:07:28 -0700 (Fri, 03 Aug 2018) | 18 lines
  BaseTools/Capsule: Prevent traceback during signing operations
  https://bugzilla.tianocore.org/show_bug.cgi?id=1046
  https://bugzilla.tianocore.org/show_bug.cgi?id=1048
  https://bugzilla.tianocore.org/show_bug.cgi?id=1050
  Remove raise statements that generate Tracebacks that were only
  intended for development/debug.  With the raise statements removed
  proper error messages are shown.
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit e49eee4c51a6cb8b2f35735e375c211c41d9f6cb)

------------------------------------------------------------------------  r27648 | edk2buildsystem | 2018-08-03 02:07:40 -0700 (Fri, 03 Aug 2018) | 16 lines
  BaseTools/Capsule: Support capsules without a payload header
  https://bugzilla.tianocore.org/show_bug.cgi?id=1028
  Update --dump-info and --decode to show auth header information
  even if a payload header is not present.  The --decode operation
  still fails if a payload header is not present.
  Cc: Sean Brogan <sean.brogan@microsoft.com>
  Cc: Jiewen Yao <jiewen.yao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit de652b14a78b4767ff460999b6728d7ccc50b057)

------------------------------------------------------------------------  r27675 | edk2buildsystem | 2018-08-03 02:12:37 -0700 (Fri, 03 Aug 2018) | 20 lines
  BaseTools: Guid.xref doesn't specify the correct GUID value for Driver
  In DSC, we can define the driver with the different FILE GUID. So this
  driver name and its FILE GUID should also be listed in Build output
  Guid.xref. But now, Guid.xref still lists the driver MODULE_GUID.
  The case in Platform.dsc:
  MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf {
  <Defines>
  FILE_GUID = 3A4A354F-6935-40fa-B19C-500EEEBF0BC2
  <LibraryClasses>
  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  }
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 1d802e234e813a6726f4c6fd161ae9bd146bc552)

------------------------------------------------------------------------  r27677 | edk2buildsystem | 2018-08-04 02:05:30 -0700 (Sat, 04 Aug 2018) | 18 lines
  BaseTools/Pkcs7Sign: Add PKCS7 test key include files
  https://bugzilla.tianocore.org/show_bug.cgi?id=1073
  Add PCD statement include files for the PKCS7 test key.
  * gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer
  * gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr
  These include files can be used in !include statements in PCD
  sections of a platform DSC file to assign these PCDs to the
  test key certificate values.
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 526dd0245bf0db6a01c21943201a4572747bca7f)

------------------------------------------------------------------------  r27688 | edk2buildsystem | 2018-08-08 02:05:45 -0700 (Wed, 08 Aug 2018) | 12 lines
  BaseTools: Debug message make confused
  Debug message make confused
  Fix https://bugzilla.tianocore.org/show_bug.cgi?id=995
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit e5cbb982562c354a6c040552d0ff20a38202c284)

------------------------------------------------------------------------  r27690 | edk2buildsystem | 2018-08-08 02:06:08 -0700 (Wed, 08 Aug 2018) | 10 lines
  BaseTools: Use gGuidPattern for Guid regular expression
  Use GlobalData.py gGuidPattern for Guid regular expression
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit cefc8d8821f0a5ec7995901146dd6b055d7b956a)

------------------------------------------------------------------------  r27709 | edk2buildsystem | 2018-08-16 02:05:53 -0700 (Thu, 16 Aug 2018) | 10 lines
  BaseTool: Fixed the bug of Boolean Hii Pcd packing.
  When packing HiiPcd into PcdNvStoreDefaultValueBuffer,
  The boolean type pcd value packing incorrect.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Bob Feng <bob.c.feng@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 669b55e6d560f06aef5a21d843451ae3b1351116)

------------------------------------------------------------------------  r27710 | edk2buildsystem | 2018-08-16 02:06:04 -0700 (Thu, 16 Aug 2018) | 12 lines
  BaseTools: Remove a unused function.
  the call statement of _CheckDuplicateInFV() was commented out
  in 2014. There is no call statement of _CheckDuplicateInFV(),
  so remove it.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Bob Feng <bob.c.feng@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 0fc5e71c68b1827750111ae0bf3031b667c1f893)

------------------------------------------------------------------------  r27718 | edk2buildsystem | 2018-08-16 02:07:34 -0700 (Thu, 16 Aug 2018) | 11 lines
  BaseTools: Remove the redundant if statement
  after analysis the BuildOptionValue function, we found the if statement
  IsFieldValueAnArray is redundant because ValueExpressionEx will handle
  it.
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit b2282e5369c10a26e8cbf125cc22032ba903d619)

------------------------------------------------------------------------  r27719 | edk2buildsystem | 2018-08-16 02:07:51 -0700 (Thu, 16 Aug 2018) | 10 lines
  BaseTools: Fix report flexible value issue
  Report flexible value in INF file encounter error
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit af24640290a79e974710629db91fb39512d0b54b)

------------------------------------------------------------------------  r27720 | edk2buildsystem | 2018-08-16 02:08:45 -0700 (Thu, 16 Aug 2018) | 11 lines
  BaseTools/Ecc: Fix import issues
  1. Complete the full path for import statement. Use "EccMain" to
  replace "Ecc" for the absolute path support.
  2. Fix some issues on configuration file.
  3. Fix an issue of RaiseError not working in EdkLogger.
  Contributed-under: TianoCore Contribution Agreement 1.0
  Signed-off-by: Hess Chen <hesheng.chen@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 855698fb69fdb85fa24c4374d07947106f4de828)

------------------------------------------------------------------------  r27723 | edk2buildsystem | 2018-08-16 02:09:40 -0700 (Thu, 16 Aug 2018) | 10 lines
  BaseTools: Remove duplicate function declaration
  Remove duplicate function declaration
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 6f06101ddfedbe3ebbb0b950fcc7449691446ed3)

------------------------------------------------------------------------  r27724 | edk2buildsystem | 2018-08-16 02:09:52 -0700 (Thu, 16 Aug 2018) | 10 lines
  BaseTools: Add Dns and BluetoothLE DevicePath
  Add Dns and BluetoothLE for support DevicePath
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit f52c3ed019011e5d86d66ee317a8003867f0956d)

------------------------------------------------------------------------  r27725 | edk2buildsystem | 2018-08-16 02:10:03 -0700 (Thu, 16 Aug 2018) | 14 lines
  BaseTools: Clean up not used code in BuildClassObject
  V2: Add back "from Common.DataType import *"
  1. Remove some import statement that are not used.
  2. Remove the Type value in the LibraryClassObject because we don't
  actually use it.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Jaben Carsey <jaben.carsey@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
  (cherry picked from commit f64fbdde8c99bcf0c97f1348f02fdcd8685f1df2)

------------------------------------------------------------------------  r27727 | edk2buildsystem | 2018-08-16 02:10:22 -0700 (Thu, 16 Aug 2018) | 12 lines
  BaseTools: Eot - fix variable names
  1) currently a couple classes use m instead of self (including some mixed
  functions that should have previously failed).
  2) deleted some blank lines.
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 4fea08b9c9df2271de5200a1dd3189ddbf525922)

------------------------------------------------------------------------  r27728 | edk2buildsystem | 2018-08-16 02:10:31 -0700 (Thu, 16 Aug 2018) | 12 lines
  BaseTools: Optimizing code for function doesn't match
  Optimizing code for function doesn't match name and comment
  Fix https://bugzilla.tianocore.org/show_bug.cgi?id=924
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 7b85a1afa38c13fd40095f277cd26e5aa159b2f5)

------------------------------------------------------------------------  r27738 | edk2buildsystem | 2018-08-16 14:09:00 -0700 (Thu, 16 Aug 2018) | 14 lines
  BaseTools/footer.makefile: expand BUILD_CFLAGS last for C files too
  BUILD_CPPFLAGS should be expanded before BUILD_CFLAGS. (The rule for C++
  source files already does this, with BUILD_CPPFLAGS and BUILD_CXXFLAGS.)
  This patch doesn't change behavior.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Laszlo Ersek <lersek@redhat.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 67983484a4430c5f82bb5f1397e010c759136321)

------------------------------------------------------------------------  r27739 | edk2buildsystem | 2018-08-16 14:09:08 -0700 (Thu, 16 Aug 2018) | 17 lines
  BaseTools/header.makefile: remove "-c" from BUILD_CFLAGS
  Option "-c" is a mode selection flag (choosing between compiling and
  linking); it should not be in BUILD_CFLAGS, which applies only to
  compiling anyway. The compilation rule for C source files, in
  "footer.makefile", already includes "-c" -- currently we have double "-c"
  options.
  This patch doesn't change behavior.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Laszlo Ersek <lersek@redhat.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 03252ae287c4a61983b3793ff71baeabe2ff3df7)

------------------------------------------------------------------------  r27740 | edk2buildsystem | 2018-08-16 14:09:20 -0700 (Thu, 16 Aug 2018) | 20 lines
  BaseTools/Source/C: split "-O2" to BUILD_OPTFLAGS
  The option "-O2" is not a preprocessor flag, but a code generation
  (compilation) flag. Move it from BUILD_CPPFLAGS to BUILD_CFLAGS and
  BUILD_CXXFLAGS.
  Because "VfrCompile/GNUmakefile" uses "-O2" through BUILD_CPPFLAGS, and
  because it doesn't use BUILD_CXXFLAGS, we have to introduce BUILD_OPTFLAGS
  separately, so that "VfrCompile/GNUmakefile" can continue using just this
  flag.
  This patch doesn't change behavior.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Laszlo Ersek <lersek@redhat.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit b8a66170264395edeaa61e6d22930a58e576a685)

------------------------------------------------------------------------  r27741 | edk2buildsystem | 2018-08-16 14:09:31 -0700 (Thu, 16 Aug 2018) | 14 lines
  BaseTools/Source/C: take EXTRA_OPTFLAGS from the caller
  Allow the caller of the top-level makefile either to set EXTRA_OPTFLAGS in
  the environment or to pass EXTRA_OPTFLAGS as a macro definition on the
  command line. EXTRA_OPTFLAGS extends (and potentially overrides) default C
  compilation flags set in the makefiles.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Laszlo Ersek <lersek@redhat.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit b0ca5dae78ff71397a8ef568f1914da7668ff5a9)

------------------------------------------------------------------------  r27742 | edk2buildsystem | 2018-08-16 14:09:38 -0700 (Thu, 16 Aug 2018) | 14 lines
  BaseTools/Source/C: take EXTRA_LDFLAGS from the caller
  Allow the caller of the top-level makefile either to set EXTRA_LDFLAGS in
  the environment or to pass EXTRA_LDFLAGS as a macro definition on the
  command line. EXTRA_LDFLAGS extends (and potentially overrides) default
  link-editing flags set in the makefiles.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Laszlo Ersek <lersek@redhat.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit 81502cee20ac4046f08bb4aec754c7091c8808dc)

------------------------------------------------------------------------  r27744 | edk2buildsystem | 2018-08-17 02:05:30 -0700 (Fri, 17 Aug 2018) | 9 lines
  BaseTools: Add check for VOID* PCD Max Size
  Per spec VOID* PCD max size should be a UINT16 value. so this patch
  add the value check whether it is in range 0x0 .. 0xFFFF.
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
  Reviewed-by: Liming Gao <liming.gao@intel.com>
  (cherry picked from commit f843a328772a30c11162c281adaf2afc1b4a972f)

------------------------------------------------------------------------  r27745 | edk2buildsystem | 2018-08-20 02:05:47 -0700 (Mon, 20 Aug 2018) | 42 lines
  BaseTools: AutoGen refactor ModuleAutoGen caching
  1) Add a new file Common/caching.py
  a.	Allows for automated caching of repeated class functions, class
  properties, and non-class functions
  b.	When called the first time the value is cached and if called a
  second time, the cached result is called, not the function.
  c.	When used, this saves lots of memory since the actual function
  pointers are replaced with smaller data elements.
  d.  note that not all features are used yet.
  2) Fix AutoGen/GenMake and AutoGen/GetC to not call into private member
  variables of ModuleAutoGen class
  a. use the existing accessor properties for the data
  3) Change AutoGen classes to remove a exception for duplicate members in
  __new__ and use ?in? testing to speed up
  4)	Work on ModuleAutoGen class
  a.	Change all properties that use caching to use @caching_property
  (see #1 above)
  b.	Change all properties that do not use caching to use standard python
  decorator "@property"
  c.	Change all cases where a dictionary/set/list/object was created
  and then immediately updated to use constructor parameters
  d.	Refactor each property function to remove the internal variable
  that is no longer needed (this helps find items like #2 above)
  e.  Refactor _ApplyBuildRule with optional parameter to work around
  circular dependency with BinaryFileList.
  Note that 4e was almost certainly unintended as the functions were acting on
  incomplete information since they were directly accessing private instance
  variables at the same time another function on the stack was creating the same
  private isntance data.
  This overall changes behavior slightly, but makes the codebase smaller and
  easier to read.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Bob Feng <bob.c.feng@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit b23414f6540d4f336b6f00b44681911d469f9a04)

------------------------------------------------------------------------  r27746 | edk2buildsystem | 2018-08-20 02:05:59 -0700 (Mon, 20 Aug 2018) | 12 lines
  BaseTools: AutoGen - tag a function as cachable
  MakeFile generation is once per module, so mark it as such.
  also move the time stamp creation function inside as it's
  only called from one place.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 830bf22fa5525263ea10cd2f4a0dc843a4c05122)

------------------------------------------------------------------------  r27747 | edk2buildsystem | 2018-08-20 02:06:08 -0700 (Mon, 20 Aug 2018) | 15 lines
  BaseTools: AutoGen refactor to iterate less
  Don't iterate over new dictionaries with one item
  Create the data and then add to dictionary.
  Note: if you diff ignoring whitespace changes you
  can more easily see the relevant changes.
  Cc: Liming Gao <liming.gao@intel.com>
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 0258ba6256ca193e8fd896a40ceef1bc06a3e0e8)

------------------------------------------------------------------------  r27748 | edk2buildsystem | 2018-08-20 02:06:17 -0700 (Mon, 20 Aug 2018) | 11 lines
  BaseTools: remove unused code
  the if statment just has pass statement.
  invert if condition and just use do the else work.
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit fe6fdfe2bb015bbd64c45c5d6ae028ecdf2437e2)

------------------------------------------------------------------------  r27749 | edk2buildsystem | 2018-08-20 02:06:28 -0700 (Mon, 20 Aug 2018) | 8 lines
  BaseTools: remove unused setter functions
  Cc: Yonghong Zhu <yonghong.zhu@intel.com>
  Cc: Liming Gao <liming.gao@intel.com>
  Contributed-under: TianoCore Contribution Agreement 1.1
  Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
  Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
  (cherry picked from commit 43fe4c4052922c6baa36cf4664ce63b8699d9176)

------------------------------------------------------------------------