The modifications includes:
1) Correct the issue that build tool generate UINT8 array for unicode string type PCD, it maybe cause alignment issue. Now build tool will generate UINT16 array for unicode string type PCD.
2) Merge FdfParser.py updates to FdfParserLite.py
3) Replace EFI_IMAGE_NT_HEADERS with EFI_IMAGE_OPTIONAL_HEADER_UNION. (GenFv)
The code referencing EFI_IMAGE_NT_HEADERS has been modified to
refer to EFI_IMAGE_OPTIONAL_HEADER_UNION => Pe32/Pe32Plus.
4) Remove definitions of build machine specific types.
Remove EFI_IMAGE_OPTIONAL_HEADER, EFI_IMAGE_NT_HEADERS,
EFI_IMAGE_NT_OPTIONAL_HDR_MAGIC, and EFI_IMAGE_MACHINE_TYPE_SUPPORTED,
since these were defined differently based on the architecture
of the build machine. The BaseTools should support the edk2
supported processor architectures and not depend on the architecture
of the build platform.
5) Added support for the ARM processor type
Added RVCT as a ToolChainFamily (Real View Compiler Tools from ARM)
Enabled FixedAtBuild 32-bit PCDs to be used from GCC or RVCT assembler.
Updated GenFw to support RVCT ELF images and removed #ifdefs for ELF. Also made ELF to PE/COFF features available on all supported build targets for the tools by adding some FreeBSD ELF headers.
Updated GenFv to support the ARM reset vector in ZeroBytes of the FV header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8872 6f19259b-4bc3-4df7-8a09-765794883524
The modifications are:
1. Support BuildRuleFamily attribute of tool chain tag to be filtered build rule.
2. Enhance GenFds tool to get the default PcdValue from DEC file.
3. Enhance AutoGen to generate library function constructors for SEC type module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8764 6f19259b-4bc3-4df7-8a09-765794883524
The modification is add additional checking for whether need renew the immediate file workspace database, the renew reason maybe:
The renew reason maybe:
1) If user force to renew;
2) If user do not force renew, and
a) If the time of last modified python source is newer than database file;
b) If the time of last modified frozen executable file is newer than database file, the executable file is build.exe in window and build in Linux/Unix/OSX
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8615 6f19259b-4bc3-4df7-8a09-765794883524
This patch including following change:
1) Build tools:
a) StringTable in generated PCD database is changed to UINT8 array but not original UINT16, because it can also stored the ANSIC and byte array.
b) The layout of string table in PCD database is changed. To make sure unicode string is in double byte aligned, the item in string table which hold unicode string value will be put ahead than other items. After unicode string item, the HII variable name item is immediate. The byte array item and ANSIC string array item will be put at tail of whole string table.
c) Fix bug that build tools does not handle the size of unicode string, byte array and ANSIC string.
2) PCD PEI/DXE driver:
The pointer of StringTable is changed to UINT8* but not original UINT16*.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8392 6f19259b-4bc3-4df7-8a09-765794883524
1) The collect action of platform's dynamic PCD database is trigged by module's autogen action.
2) If platform is used for more than one architecture, two platform object will be created
Above two rules will cause an issue for single module building that if
1) platform support IA32 and X64
2) do single module for X64 module
then, the dynamic PCD for IA32 modules will missed in PCD database, because no IA32 module need autogen so collection action for IA32 module is not trigged.
Now, I think the collection action for platform dynamic PCD should be explicitly called after PlatformAutoGen is created.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8323 6f19259b-4bc3-4df7-8a09-765794883524
a. Fixed PCD database error
b. Fixed inf file extension issue
c. Fixed an issue in which RealPath() returns None if WORKSPACE root was passed in
d. Check MODULE_TYPE and COMPONENT_TYPE to be defined
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7994 6f19259b-4bc3-4df7-8a09-765794883524
2. Force file name case check in Windows
3. Consolidate file/path operations
4. Support binary file type in build_rule.txt
5. Generate $(FILE_TYPES) macro only when it's used in build_rule.txt
6. Fix HSD202142 and HSD202144
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7529 6f19259b-4bc3-4df7-8a09-765794883524