summaryrefslogtreecommitdiff
path: root/BaseTools
AgeCommit message (Collapse)Author
2016-03-15BaseTools: update the mail address for stack trace infoYonghong Zhu
Update the mail address from edk2-devel@lists.sourceforge.net to edk2-devel@lists.01.org. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Andrew Fish <afish@apple.com> (cherry picked from commit 3a0f8bdef348a3afca72217d319bb1a8d8b1036a)
2016-03-15BaseTools ConvertMasmToNasm: Support Python 3Jordan Justen
The script is updated to support both python 2.7 and python 3. v2: * Use io.open() rather than open() (Jaben) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> (cherry picked from commit 7e869eeb15b011f69cf87e0547cbcc70cc8b32eb)
2016-03-15BaseTools ConvertMasmToNasm: Fix exception when no arguments are givenJordan Justen
Convert to use the argparse library rather than optparse. As part of the conversion, the script will now give an error message if no arguments are given. Previously the script would give an exception when no arguments were given. Fixes: https://github.com/tianocore/edk2/issues/65 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> 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 bc6a342535a7ab62b263c81bc201706955251d94)
2016-03-15BaseTools ConvertMasmToNasm: Fix running script outside of a git treeJordan Justen
The script previously would hit an exception if it was run outside of a git tree. The exception looked like: edk2/BaseTools/Scripts/ConvertMasmToNasm.py Version 0.01 Traceback (most recent call last): File "edk2/BaseTools/Scripts/ConvertMasmToNasm.py", line 986, in <module> ConvertAsmApp() File "edk2/BaseTools/Scripts/ConvertMasmToNasm.py", line 984, in __init__ ConvertAsmFile(src, dst, self) File "edk2/BaseTools/Scripts/ConvertMasmToNasm.py", line 209, in __init__ CommonUtils.__init__(self, clone) File "edk2/BaseTools/Scripts/ConvertMasmToNasm.py", line 69, in __init__ self.gitemail = clone.gitemail AttributeError: ConvertAsmApp instance has no attribute 'gitemail' Fixes: https://github.com/tianocore/edk2/issues/63 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> (cherry picked from commit 5369c2bb735a741b53f92928463cb425c59eb60b)
2016-03-15BaseTools: Update ARM/AArch64 GenFv vector processing for encapsulated FVsCohen, Eugene
Instead of only handling SEC Core or PEI Core instances in the outer FV, the GenFv tool will now recurse into FV image FFS files to look for instances in encapsulated FVs so the vector area can be updated appropriately. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eugene Cohen <eugene@hp.com> Reviewed-by: Liming Gao <liming.gao@intel.com> (cherry picked from commit eca22f362cd5f008ba2c1f1a3b4f122b206e0a1c)
2016-03-11External link to BaseTools Win binary r126(main trunk r20180)Hao Wu
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com>
2016-03-11BaseTools: report warning if VOID* PCD with {} value is not 8-byte alignedYonghong Zhu
For VOID* Pcd with {} value, If platform developer wants to put in a specific hex offset value that is not 8-byte aligned for VOID * then we allow it with a warning message. 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 815ada26cb7069d1121153c4e661e796c9e1da25)
2016-03-11BaseTools: Change source files to DOS format.Liming Gao
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> (cherry picked from commit 452582852dc3654ce51e0c6072aaf752d1b0e3ed)
2016-03-11BaseTools: Add Multiple Workspaces support for custom Makefiles.Marvin Haeuser
This patch makes sure the MODULE_DIR variable points to the correct location when multiple workspaces are used. Currently, it is always prefixed with $(WORKSPACE), which only works as long as the package is in the Workspace. Code modules were not effected because the required paths were valid, but for custom Makefiles, the MODULE_DIR variable is used. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> (cherry picked from commit 01e418d652bb3a7cbacc82d74fab1cc5260d0e1f)
2016-03-11BaseTools/LZMA: fix the format issue for last patchYonghong Zhu
There are no functional changes in this patch. fixing the format base on last commit. The only change is 1) add back the blank line, which can help we better compare with the original LZMA source code. 2) remove the indent of #ifndef and #endif. 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 b9da8fe0e3a1353af0f5d698f449210908bab491)
2016-03-02External link to BaseTools Win binary r123(main trunk r20055)Hao Wu
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com>
2016-03-02BaseTools: fix LzmaCompress VS2013 make failureYonghong Zhu
when make BaseTools by VS2013, LzmaEnc.c report warning C4127: conditional expression is constant, so this patch fix this issue. 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 b0c583cdd19cc6316cbda82cb79df4346a7db8c7)
2016-03-02BaseTools/tools_def.txt: Add -march=i586 for IA32 GCC targetsMichael Kinney
Newer GCC compilers use a default of march higher than i586 for -m32 (IA32 configuration) and this is causing generation of instructions that are not compatible with all IA32 targets. Specically Galileo platform support in the QuarkPlatformPkg does not boot if GCC48 or higher is used. This is similar to the following checkin that was done to address this same issue for VS2012 and higher tool chains: SHA-1: 71028ba2c4c398d70475504e671d048d9003d90f Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Leroy Leahy <leroy.p.leahy@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> (cherry picked from commit c261c27dcee4603b9628d68639e7dccc4253af7e)
2016-02-25External link to BaseTools Win binary r122(main trunk r19875)Hao Wu
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com>
2016-02-24BaseTools/Trim: Fix the bug for stripping when no line directive in fileYonghong Zhu
when no line directive in file, the tool still need to strip the typedef statement (eg: typedef struct, typedef union ..). 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 7cf1e91d611c5dbe8bdaefd5a48b61e63ea58263)
2016-02-24BaseTools/Conf/XMLSchema: Reformat XML using Visual Studio 2013Larry Hauch
There are no functional changes in this patch. The only change is to the XML format, updated using Visual Studio Edit->Advanced->Format Document. Different XML Schema editors use different formats for indentation and line breaks. Visual Studio 2013 uses a two space indentation for content. Cc: Zhu Yonghong <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Larry Hauch <larry.hauch@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> (cherry picked from commit cbf14fa0845d118a85cb691a02f3793ffce45e82)
2016-02-24BaseTools: LzmaCompress: fix gcc-6 warning "misleading-indentation"Laszlo Ersek
The way the first use of the "_maxMode" variable is commented out (i.e., together with the enclosing "if" statement) in GetOptimum() triggers the "misleading-indentation" warning that is new in gcc-6.0, for the block of code that originally depended on the "if" statement. Gcc believes (mistakenly) that the programmer believes (mistakenly) that the block depends on (repIndex == 0) higher up. Restore the if statement, with a controlling expression that comprises the constant 1 and "_maxMode" commented out. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Cole Robinson <crobinso@redhat.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Reported-by: Cole Robinson <crobinso@redhat.com> Suggested-by: Jordan Justen <jordan.l.justen@intel.com> Build-tested-by: Cole Robinson <crobinso@redhat.com> Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1307439 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> (cherry picked from commit 6cc7ada465a7c5a6dab6e32abd5a4b6f1734c1d0)
2016-02-24BaseTools/VolInfo: add some generic optionsYonghong Zhu
The Help information provided by VolInfo does not follow the EDK II Tools Design doc, so this patch update the help text and add the generic options: -d, -v, -q, -s. 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 730ffca1943d8965f68faa55216ba5857635bcd2)
2016-02-24BaseTools: report an error message when failed to start build commandYonghong Zhu
when build.py was failing to build packages but was not providing any error message except for “Failed to start command.” this patch provide the error message. 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 790f60f22efb829903b6d308decaa4b1506ab928)
2016-02-24BaseTools/GenFw: Fix a bug for GCC buildYonghong Zhu
current GCC build report error: 'for' loop initial declarations are only allowed in C99 or C11 mode, the patch fix this 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> (cherry picked from commit a754c70ceec880038f0e61e413398e96468b34f1)
2016-02-24BaseTools/GenFw: Correct datatypes in diagnostic messages and check for ↵Michael LeMay
string termination This patch revises multiple diagnostic messages to use correct datatypes. It also checks that a symbol name that is about to be used in a diagnostic message is terminated by a null character within the contents of the string table section so that the print routine does not read past the end of the string table section contents when reading the symbol name. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael LeMay <michael.lemay@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> (cherry picked from commit ea3e924a0c91e2dd7fbb5e2f79899367222f27eb)
2016-02-24BaseTools/GenFw: Enhance error message for bad symbol definitionsMichael LeMay
This patch expands the error message that is output when GenFw encounters a bad symbol definition or an unsupported symbol type. It displays the symbol name, the symbol address, and a message that describes both possibilities (bad symbol definition or unsupported symbol type). It also provides two examples of unsupported symbol types. Furthermore, this patch revises the conditional for detecting bad symbol definitions to eliminate a redundant test (a Sym->st_shndx value of SHN_ABS should certainly be greater than mEhdr->e_shnum) and to change another test from 'Sym->st_shndx > mEhdr->e_shnum' to 'Sym->st_shndx >= mEhdr->e_shnum' for consistency with the test in GetShdrByIndex. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael LeMay <michael.lemay@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> (cherry picked from commit 621bb723a4e00cb93e8a94c6126de4976dde1d9e)
2016-02-24BaseTools/GenFw: Exit with error when header lookup failsMichael LeMay
This patch revises GetPhdrByIndex and GetShdrByIndex to cause GenFw to exit with an error message when a section header lookup fails. The current behavior of those functions in such circumstances is to return NULL, which can cause GenFw to subsequently fault when it attempts to dereference the null pointer. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael LeMay <michael.lemay@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> (cherry picked from commit 17751c5fa473fd4f830007590d59e8d15a2d2935)
2016-02-24BaseTools-Source: Update displayed version informationedk2 dev
Standardize the --version and --help text command-line options Updated tools to correctly display the Build number when using command-line option --version and exit successfully after termination. Ecc was also updated to print informational messages after the options are parsed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Larry Hauch <larry.hauch@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> (cherry picked from commit fbf2338143952da2c63241e51379504a15aa3ea9)
2016-02-24BaseTools/GenFw AARCH64: add support for relative data relocationsArd Biesheuvel
This adds support to the ELF to PE/COFF conversion performed by GenFw for the AArch64 ELF relocation types R_AARCH64_PREL64, R_AARCH64_PREL32 and R_AARCH64_PREL16. Since we already require the ELF and PE/COFF section layouts to be identical in order to support other relative relocation types, this is simply a matter of whitelisting these new relocation types in the same way. While we're at it, clean up the code a bit, and add a comment explaining why these relocations are ignored in WriteRelocations64 (). 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> (cherry picked from commit 0b6249f5902f85a9c1a438878b27f8d7ef960a41)
2016-02-24BaseTools: Update BaseTools to pass VS2015 compilerYonghong Zhu
Fix some errors to pass VS2015 compiler. 1. warning C4456: declaration of xxx hides previous local declaration 2. warning C4005: 'UINT8_MAX': macro redefinition 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@19768 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 5aec6991e7d6af8420eefa4c0fd3bf4de323def2)
2016-02-24BaseTools:Incremental build not work if VPD values in DSC changed by -DYonghong Zhu
If a -D flag is passed into build that selects different lines in [PcdsDynamicExVpd], then build does not see any changes to the timestamp of the DSC file and the VPD tool is not used to regenerate the VPD region based in the statements that are active. so we changed the detect condition and use SaveFileOnChange function to generate VPD. 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@19767 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit e459de78001be89d37cc286d0fcd57f92e1a438a)
2016-02-24BaseTools: Fix a bug for VpdOffset calculateYonghong Zhu
The VpdOffset value in the DSC both support integer and Hex value, so we fix the bug to support both format. 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@19765 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit ca85291f1f020652254457cc9edbb3caf6a2ed56)
2016-02-24BaseTools: Fix the bug when no FD section in the FDF fileYonghong Zhu
Check if the Fdf.CurrentFdName is not None and in Fdf.Profile.FdDict before using it which fix a crash issue when no FD section in FDF file. 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@19747 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit cb04330eee96f3afc8d9f060b69859e3c068c3c9)
2016-02-24BaseTools: make build report tolerant of FVs specified by nameEugene Cohen
Check if the FV name is in the FV dictionary before using it which fixes a crash during build report generation when FVs are specified by path in the FDF. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eugene Cohen <eugene@hp.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19705 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit a243297253afb3f4e5b4047bab49548c73dfdcd7)
2016-02-24BaseTools: Improve LzmaF86Compress wrapperCharles Duffy
- Remove test usage declared obsolescent by POSIX - Pass argv array through as literal rather than forming into a string, then string-splitting and glob-expanding same. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Charles Duffy <chaduffy@cisco.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19697 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 8d0776f3e60482ed621e45b2b52db8a604d7e5a2)
2016-02-24BaseTools: Use python2 if available in Tests/GNUmakefileCharles Duffy
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Charles Duffy <chaduffy@cisco.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19696 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 87157f76f05469dc5c349fe53c4402e408136f2e)
2016-02-24BaseTools: Improve shell wrapper for C build commandsCharles Duffy
- Avoid obsolescent forms of test builtin (`-a` and `-o`; see APPLICATION USAGE section of http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html). - Quote all expansions to prevent string-splitting and globbing. - Avoid unspecified "exit -1" (only single-byte integers are valid); instead, use identical exit status to shell command-not-found. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Charles Duffy <chaduffy@cisco.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19695 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 5e407648358d639ed19d228303527133e4c95c25)
2016-02-24BaseTools: Improve shell wrappers for Python build commandsCharles Duffy
- Use `python2` executable if it exists, to avoid breakage on systems (such as Arch Linux) where `python` is Python 3. - Quote all references to `$0`, for safety when located in a directory containing spaces in its name. - Use the `exec` shell command to avoid leaving the shell wrapper in the process table when invoking the actual build tool. - Use `"$@"` rather than `$*` to pass arguments through directly rather than concatenating to a string, and then string-splitting and glob-expanding its contents. - Use `$BASH_SOURCE` in preference to `$0` (which is only guaranteed to be process name, *not* source path). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Charles Duffy <chaduffy@cisco.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19694 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 6928c1d3eed8fb3ab0b136f0ebdcef50f7bda2f3)
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