summaryrefslogtreecommitdiff
path: root/BaseTools
AgeCommit message (Collapse)Author
2016-02-24BaseTools: process the files by the priority in BUILDRULEORDERYonghong Zhu
By the BUILDRULEORDER feature to process files listed in INF [Sources] sections in priority order, if a filename is listed with multiple extensions, the tools will use only the file that matches the first extension in the space separated list. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19686 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 4cb7bade0abdbbd4658ee2343c82ae050018e635)
2016-02-24BaseTools: VPD Tool to allocate VPD region be aligned based on value typeYonghong Zhu
Base on build spec update, ASCII strings(“string”), will be byte aligned, Unicode strings(L”string”) will be two-byte aligned, Byte arrays, {0x00, 0x01} will be 8-byte aligned. This patch is going to update VPD Tool to allocate VOID* PCDs to an offset value that is aligned based in syntax of the PCD 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> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19651 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 22061fab23a2bc9bf39cb3d1bd0ff0f1264d3859)
2016-02-24BaseTools: VOID* PCDs in VPD region must be aligned based on value typeYonghong Zhu
Base on build spec update, ASCII strings(“string”), will be byte aligned, Unicode strings(L”string”) will be two-byte aligned, Byte arrays, {0x00, 0x01} will be 8-byte aligned. This patch is going to halt with an error message if a VOID* PCD has an offset value that is not aligned based on the syntax of the PCD 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> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19650 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 5a13737abf9d12d99a15961fa94716b507c701a2)
2016-02-24BaseTools: Fix GenPatchPcdTable to support '-' characters in file namesYonghong Zhu
The Regular Expression parsing of lines in MAP files does not currently support the use of '-' in the column for the filename the symbol is sources from, it cause a build break from the GenPatchPcdTable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19649 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 8b54f22f60d1ecdfc4beb1f0965b52f7063b93ad)
2016-02-24BaseTools AARCH64: build XIP modules with strict alignmentArd Biesheuvel
GCC for AARCH64 recognizes byte swapping load and store sequences and may replace them with wider loads or stores combined with rev instructions. In some cases (i.e., with GCC version 5 and later) this may result in unaligned accesses, which are not allowed before we turn the MMU on. So build any modules or static libraries that may execute with the MMU off with -mstrict-align. Other modules don't need this switch, so we can remove it from the CLANG35/AARCH64 common CC flags. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19638 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit d764d59849b782c11424f27c2148ecb057533a76)
2016-02-24BaseTools AARCH64: add separate GCC build rule for XIP objectsArd Biesheuvel
This introduces a special .c to .obj build rule for GCC/AARCH64 that takes into account additional compiler flags that have been specified via *_*_*_CC_XIPFLAGS. These will be passed after (and in addition to) the ordinary CC_FLAGS. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19637 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 3a02a87f9f4dd5ba6741e64e20e5ab67fe4f303b)
2016-02-24BaseTools/VfrCompile: honor CC if it is setMichael Thomas
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Thomas <malinka@entropy-development.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19636 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 819a2394f17f6e4e97893481e4acb95401e7b380)
2016-02-24BaseTools: Fix 'caculate' typosHao Wu
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19604 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 64957e357bca8d1f9fec2fabaa7aa9a3a8721f1f)
2016-02-24BaseTools CLANG35: use -target in PP flags as wellArd Biesheuvel
The Clang preprocessor may rely on builtin defines that are target dependent, so we should add the -target argument also when invoking the preprocessor directly. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19584 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit c2a892d7c8a78143006bb7fdc95fb18f7e2fc685)
2016-02-24BaseTools CLANG35: use linux-gnu target triplets explicitlyArd Biesheuvel
Since we are combining Clang with the GNU linker, make that explicit in the target triplet. This affects certain builtin defines and other compiler behavior that may be unspecified otherwise. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19583 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit d4dcd5542a88eeee5a268284a4dfe026918f1720)
2016-02-24BaseTool/UPT: Fix a typo issueHess Chen
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19576 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit bc003bc0769f2ad37700d34dfde83eac323b51c7)
2016-02-24BaseTool/ECC: Add UTF-8 support on ECC toolHess Chen
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19575 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 975889279df2eb3d3338cb88afb3faa71ddde4d6)
2016-02-24BaseTools: Fix Makefile to correctly break during a build failureLarry Hauch
Updated the Makefile so that nmake will correctly fail if the cxfreeze command fails to complete successfully. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Larry Hauch <larry.hauch@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19501 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 179475645373a6842b6da8739c469d8b99672319)
2016-02-24BaseTools: Fix the bug for VOID* Patchable PCD declaration in LibraryYonghong Zhu
VOID* Patchable PCD in Library has the different declaration from the one in Driver, this issue that will cause GCC LTO build failure. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19766 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit d66670f9ea830c8f6e1f21b2deeca58128e3bfde)
2015-12-22BaseTools: Update Scripts to support VS2015 envLiming Gao
edk2 Edk2Setup.bat depends on those scripts to configure VS env. Update them to support VS2015. (Sync patch r19431 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19434 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18External link to BaseTools Win binary r112(main trunk r19319)Jeff Fan
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19388 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: Fix one bug in FD region for multiple workspace supportYonghong Zhu
Update the os.path.join to mws.join for FILE/INF/CAPSULE/FV region type. (Sync patch r19319 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19387 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools ARM: add CLANG35 supportArd Biesheuvel
This extends the existing CLANG35 toolchain definition with support for building for the ARM architecture. In order to be able to reuse the existing ARM GCC definitions as much as possible, the following changes have been made to the existing ARM GCC support: - the -mapcs option has been removed; it is a no-op under Thumb (our default) and we use AAPCS (-mabi=aapcs) anyway - the -mword-relocations option has been moved from GCC_ARM_CC_FLAGS to the GCC4x specific option: CLANG does not support it, and uses '-mllvm -marm-use-movt=0' instead. (Sync patch r19284 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19386 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools/Scripts: Add ConvertUni.py scriptJordan Justen
This script uses python codecs to convert .uni string files between the utf-16 and utf-8 formats. The advantages of utf-8 data: * Generally smaller files * More commonly supported by editors * Not treated as binary data in patch files The script was tested on MdePkg with both python 2.7 and python 3.4. It was able to convert all MdePkg .uni files between utf-8 and utf-16 multiple times always producing the same files for each format. v2: * Rename ConvertUtf16ToUtf8.py to ConvertUni.py * Also support utf-8 to utf-16 conversion (with --utf-16) (Sync patch r19247 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19385 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools/Ecc: Fix a bug to report fake issueHess Chen
Fix a bug to ignore the lib ins defined in [components] section but also listed in SkipDir (Sync patch r19238 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19384 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools/GenFw RVCT: fix relocation processing of PT_DYNAMIC sectionsArd Biesheuvel
Unlike GNU ld, which can be instructed to emit symbol based static relocations into fully linked binaries using the --emit-relocs command line switch, the RVCT armlink tool can only emit dynamic relocations into the PT_DYNAMIC segment. This has two consequences . we can only identify absolute relocations, so there is no way to fix up relative relocations between sections, or check their validity in the PE/COFF layout . the r_offset fields of the PT_DYNAMIC DT_REL entries are relative either to the base of the image or to any of its segments but *not* to the base of the input section that contains the location they refer to, and converting them to PE/COFF image offsets is non-trivial unless the sections are laid out in the same way in the ELF and PE/COFF versions of the binary. There is really only one way to deal with this, and that is to require that the ELF and PE/COFF versions of the binary are identical in memory. So enforce that in the code. Also, fix the utterly broken relocation fixup code that dereferences ELF32_R_SYM(r_info) both as a 1-based program header index and a 0-based section header index. If this code ever produced working binaries, it was purely by chance. (Sync patch r19236 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19383 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools RVCT: use scatter file to enforce minimum section alignmentArd Biesheuvel
Up until SVN r18540, GenFw created invalid PE/COFF binaries for the ARM architecture, by allowing PE/COFF .data sections to appear at offsets that were not aligned to the global PE/COFF section alignment. The reason for this was that the relocation metadata emitted by RVCT's armlink only contains dynamic absolute relocations, so it is impossible to recalculate relative relocations between .text and .data, and so the relative offset between the two needs to be preserved. Since r18540, we do align .data to the PE/COFF section alignment, resulting in potentially corrupt PE/COFF binaries unless .data happens to appear at a 32-byte aligned offset. So let's introduce a RVCT scatter file that sets this alignment for the ELF .data section (and subsequent .bss section). At the same time, set the start offset to 0x220 bytes (which is the size of our 32-bit PE/COFF header) so that the memory layouts are identical between ELF and PE/COFF. Also add a 4 KB aligned version that can be used to build DXE_RUNTIME_DRIVER modules with runtime memory protection enabled. (Sync patch r19235 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Eugene Cohen <eugene@hp.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19382 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools GCC: avoid the use of COMMON symbolsArd Biesheuvel
The default behavior of the GCC compiler is to emit uninitialized globals with external linkage into a COMMON section, where duplicate definitions are merged. This may result in unexpected behavior, since global variables defined under the same name in different C files may not refer to the same logical data item. For instance, the definitions of EFI_EVENT mVirtualAddressChangeEvent that [used to] appear in the following files: CryptoPkg/Library/BaseCryptLib/SysCall/RuntimeMemAllocation.c MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c will be folded into a single instance of the variable when the latter module includes the former library, which can lead to unexpected results. Even if some may argue that there are legal uses for COMMON allocation, the high modularity of EDK2 combined with the low level of awareness of the intracicies surrounding common allocation and the generally poor EDK2 developer discipline regarding the use of the STATIC keyword* make a strong case for disabling it by default, and re-enabling it explicitly for packages that depend on it. So prevent GCC from emitting variables into the COMMON section, by passing -fno-common to the compiler, and discarding the section in the GNU ld linker script. * Any function or variable that is only referenced from the translation unit that defines it could be made STATIC. This does not only prevent issues like the above, it also allows the compiler to generate better code, e.g., drop out of line function definitions after inlining all invocations or perform constant propagation on variables. (Sync patch r19164 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19381 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18Revert the change in r19143 for BUILDRULEORDER.Yonghong Zhu
(Sync patch r19150 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19380 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: update man page to add some descriptionsYonghong Zhu
add the description for --ignore-sources and --check-usage into man page. (Sync patch r19144 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19379 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: process the files by the priority in BUILDRULEORDERYonghong Zhu
By the BUILDRULEORDER feature to process files listed in INF [Sources] sections in priority order, if a filename is listed with multiple extensions, the tools will use only the file that matches the first extension in the space separated list. (Sync patch r19143 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19378 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: Fix a bug when apply patches to SEC use the FILE_GUID overrideYonghong Zhu
Fix a bug when applying patches to SEC modules that use the FILE_GUID override. Since a temp dir is used when FILE_GUID override is used, the INF file path comparisons fail. The fix is to capture the real INF file path comparisons instead of using the temp dir path to the INF. (Sync patch r19142 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19377 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: Enhance GenFv Tool to report error messageYonghong Zhu
When two vtf files in one FV image, no FV file can be generated, but it report the stack trace info. so we enhance the tool to report error message directly but not the stack trace info. (Sync patch r19141 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19376 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: Fix a bug in the VPD report generationYonghong Zhu
Changed the if condition to check whether current Region is FD VPD region to fix a bug in the VPD report generation. (Sync patch r19139 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19375 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18Revert the change in r19137.Yonghong Zhu
(Sync patch r19138 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19374 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: Enhance GenFv Tool to report error messageYonghong Zhu
When two vtf files in one FV image, no FV file can be generated, but it report the stack trace info. so we enhance the tool to report error message directly but not the stack trace info. (Sync patch r19137 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19373 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: Add support for INF statement in FD regionYonghong Zhu
FD region today can be file or data, but not a patched image.Add support for an INF statement in an FD region, so the binary from the INF can be patched prior to being added to the FD region. (Sync patch r19136 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19372 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools PatchCheck.py: Support binary diffJordan Justen
This allows a patch with binary data that is generated with --binary to be parsed by the PatchCheck.py script. (Sync patch r19104 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19371 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools RVCT: add preprocessor preinclude for AutoGen.hEugene Cohen
Ensure that AutoGen.h is force-included when the RVCT preprocessor is invoked. (Sync patch r19097 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eugene Cohen <eugene@hp.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19370 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools: Clean some coding style issuesYonghong Zhu
This patch clean some coding style issues, majorly for space character. (Sync patch r19080 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19369 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18BaseTools/toolsetup.bat: fixed the error when the path contains spaceYonghong Zhu
We have a new simple and effective method to resolve the original issue that the PATH env's update error when the path contains space, so this patch remove the last check in and use the new method to fix the original issue. (Sync patch r19028 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19368 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-04BaseTools: Add VS2015 tool chain in tools_def.templateWang Yu
(Sync patch r19101 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wang Yu <yu.wang@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19117 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-03BaseTools: sync BaseTools from main trunk r18579.Mike Maslenkin
This patch fixes incomplete merge of multiple workspaces support. Without this patch build fails with error similar to: ~/sources/edk2> build -p MdePkg/MdePkg.dsc -t GCC48 -a X64 Build environment: Linux-3.16.7-24-desktop-x86_64-with-SuSE-13.2-x86_64 Build start time: 17:15:43, Dec.02 2015 WORKSPACE = /home/user/sources/edk2 ECP_SOURCE = /home/user/sources/edk2/EdkCompatibilityPkg EDK_SOURCE = /home/user/sources/edk2/EdkCompatibilityPkg EFI_SOURCE = /home/user/sources/edk2/EdkCompatibilityPkg EDK_TOOLS_PATH = /home/user/sources/edk2/BaseTools build.py... : error C0DE: Unknown fatal error when processing [/home/user/sources/edk2/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf] (Please send email to edk2-devel@lists.sourceforge.net for help, attaching following call stack trace!) (Python 2.7.8 on linux2) Traceback (most recent call last): File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2033, in Main MyBuild.Launch() File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 1788, in Launch self._MultiThreadBuildPlatform() File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 1583, in _MultiThreadBuildPlatform self.Progress File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 175, in __new__ if not AutoGenObject._Init(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs): File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 355, in _Init Pkgs = list(PkgSet) + list(PGen.PackageList) File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1484, in _GetPackageList for La in self.LibraryAutoGenList: File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1594, in _GetLibraryAutoGenList self._GetAutoGenObjectList() File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1575, in _GetAutoGenObjectList self.MetaFile File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 175, in __new__ if not AutoGenObject._Init(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs): File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 2199, in _Init self.SourceDir = mws.relpath(self.SourceDir, self.WorkspaceDir) File "/home/user/sources/edk2/BaseTools/Source/Python/Common/MultipleWorkspace.py", line 94, in relpath for Pkg in cls.PACKAGES_PATH: TypeError: 'NoneType' object is not iterable - Failed - Build end time: 17:15:44, Dec.02 2015 Build total time: 00:00:01 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Cc: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19102 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-01BaseTools: Add build error detection for Dynamic PCD name conflictYonghong Zhu
when multiple Dynamic PCD have different token space guid but same PCD name, it is difficult for user to check why the generated autogen.c and autogen.h are not consistent. so we add a check before generating autogen.c and report error directly that user can know what happened immediately. (Sync patch r19027 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19078 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-01BaseTools: Add a VPD report subsection of FLASH to the ReportYonghong Zhu
Build Spec already added a VPD report subsection of FLASH to the Report chapter, it provide a simple way for user to determine where the VPD region and VPD PCDs are located in the fd file. (Sync patch r19026 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19077 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-01BaseTools/GenFw ARM: allow R_ARM_REL32 relocationsArd Biesheuvel
R_ARM_REL32 are relative relocations, so we don't need to do anything special when performing the ELF to PE/COFF conversion, since our memory layout is identical between the two binary formats. So just allow them. (Sync patch r18931 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19076 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-01BaseTool/UPT: Add supporting of decimal numbers for INF_VERSION and ↵Hess Chen
DEC_SPECIFICATION (Sync patch r18868 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19075 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-01BaseTools/toolsetup.bat: fixed the error when the path contains spaceYonghong Zhu
when the path contains space, it will report error for PATH Environment update. (Sync patch r18852 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19074 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-01BaseTools: Fix two warning reported in the make phase.Yonghong Zhu
when we make BaseTools, it report warnings about VfrError.cpp and VolInfo, so this patch fix this warning. (Sync patch r18851 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19073 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-30Sync two missing files when sync BaseTools from main trunk r18767.Jeff Fan
Reported-by: Mike Maslenkin <mike.maslenkin@gmail.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19006 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-16Update BaseTools from main trunk r18767.Jeff Fan
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18784 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-29Update BaseTools binary to match main trunk r18339.Jeff Fan
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18362 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-28BaseTools: Fixed bug for single FV generating.Yingke Liu
If -i is specified and this FV has no BlockSize defined, tool did not inherit FD's BlockSize. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yingke Liu <yingke.d.liu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18339 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-27BaseTools:To generate string default type correctly in VfrCompilerDandan Bi
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18336 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-26BaseTools: Fix the missing depex file in GenFdsLiming Gao
If FDF FfsRule describes |.depex for depex file on source build, it may be missed in the generated FD image. GenFds tool needs to check the output file list and find the matched one. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yingke Liu <yingke.d.liu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18318 6f19259b-4bc3-4df7-8a09-765794883524