<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/BaseTools/Source/Python/GenFds, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-08-28T10:04:05+00:00</updated>
<entry>
<title>BaseTools/Python: Remove error message with email address</title>
<updated>2026-08-28T10:04:05+00:00</updated>
<author>
<name>Vishal Oliyil Kunnil</name>
<email>vishalo@qti.qualcomm.com</email>
</author>
<published>2026-05-22T21:14:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=edcf8ffa69319cd5cb038124bd3878f254f97056'/>
<id>urn:sha1:edcf8ffa69319cd5cb038124bd3878f254f97056</id>
<content type='text'>
Remove the "Please send email to devel@edk2.groups.io" message
from the unhandled exception handlers in build.py, GenFds.py,
Trim.py, and the UPT tools. Also remove the now-unused
MSG_EDKII_MAIL_ADDR and MSG_SEARCH_FOR_HELP constants from
Common/DataType.py and UPT/Logger/StringTable.py.

Signed-off-by: Vishal Oliyil Kunnil &lt;vishalo@qti.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/GenFds: Print INF name on Depex eval failure</title>
<updated>2026-07-09T09:58:04+00:00</updated>
<author>
<name>Christopher Zurcher</name>
<email>christopher.zurcher@microsoft.com</email>
</author>
<published>2026-06-25T23:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a62292ba9417514fa91461fad02ba340744b6151'/>
<id>urn:sha1:a62292ba9417514fa91461fad02ba340744b6151</id>
<content type='text'>
Signed-off-by: Christopher Zurcher &lt;christopher.zurcher@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/GenFds: Fix FV attribute parser to allow any keyword order</title>
<updated>2026-06-22T15:18:12+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-05-19T20:07:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=57164cdc87cfc42083310062720d0a2eeef92bac'/>
<id>urn:sha1:57164cdc87cfc42083310062720d0a2eeef92bac</id>
<content type='text'>
Fix _GetFvAttributes() to return True when it has successfully parsed
at least one attribute before encountering a non-attribute keyword.
Previously it always returned False on encountering an unrecognized
word, even after consuming prior attributes. This caused the outer
parsing loop to break prematurely when FvForceRebase, FvBaseAddress,
or FvAlignment appeared between FV attribute flags (e.g. between
ERASE_POLARITY and MEMORY_MAPPED), resulting in a Python stack trace.

Move IsWordToken assignment to after successful attribute parsing and
change the early return from 'return False' to 'return IsWordToken'.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/GenFds: Allow PE32 section keywords in any order</title>
<updated>2026-06-22T15:18:12+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-05-19T19:51:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d6eb4c4965328395582b5f7c54997dad8fcf669c'/>
<id>urn:sha1:d6eb4c4965328395582b5f7c54997dad8fcf669c</id>
<content type='text'>
Replace sequential if-statements for Align, Xip, and
RELOCS_STRIPPED/RELOCS_RETAINED parsing in _GetEfiSection() with a
while-loop that accepts these keywords in any permutation. Previously,
specifying Xip before Align in a [Rule] PE32 section caused a Python
stack trace.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/GenFds: Propagate Xip flag to FV INF via ,XIP suffix</title>
<updated>2026-06-22T15:18:12+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-05-06T02:10:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=adc5e8d00941485ddeb185869eb35dd2de08f711'/>
<id>urn:sha1:adc5e8d00941485ddeb185869eb35dd2de08f711</id>
<content type='text'>
Add Xip attribute to FDF Rule class and parse the Xip keyword in
EFI section rules of FDF files. Add XipEnabled attribute to
FfsInfStatement that is determined from the applicable FDF Rule's
section Xip setting. When generating the FV INF file, append ",XIP"
to EFI_FILE_NAME entries for modules whose Rule specifies Xip=TRUE.

This enables per-file XIP rebase control in GenFv by communicating
which files require XIP rebase directly in the FV INF file format.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Remove DXE_SAL_DRIVER</title>
<updated>2025-10-30T10:00:32+00:00</updated>
<author>
<name>Sathya Ravichandran</name>
<email>sathyar@ami.com</email>
</author>
<published>2025-09-23T11:07:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=98d1f8a6fd94c32834087a8ecfc1cce7827496e7'/>
<id>urn:sha1:98d1f8a6fd94c32834087a8ecfc1cce7827496e7</id>
<content type='text'>
The DXE_SAL_DRIVER module type was introduced to support
Itanium (IPF) platforms. Since support for Itanium processors has been
dropped, the instances of DXE_SAL_DRIVER have been removed.

Ref: [3cb0a311cb7e747d7be5c5076d0fff76ad256d2b]

Cc: Sachin Ganesh &lt;sachinganesh@ami.com&gt;
Signed-off-by: Sathya Ravichandran &lt;sathyar@ami.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Remove ARM32 Support</title>
<updated>2025-09-25T22:04:10+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-09-17T21:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2ff173af128e707867c6409f2e4ca308c255ca32'/>
<id>urn:sha1:2ff173af128e707867c6409f2e4ca308c255ca32</id>
<content type='text'>
edk2 is dropping support for the ARM32 architecture. This
commit removes ARM32 code from BaseTools.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: GenFds: Remove unnecessary code</title>
<updated>2025-07-01T01:51:38+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2025-04-30T12:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=fa2c27514c5923d8a1c7f8cb7b1bf2f3b69c4331'/>
<id>urn:sha1:fa2c27514c5923d8a1c7f8cb7b1bf2f3b69c4331</id>
<content type='text'>
Running the vulture tool on the GenFds folder gave the following
report. Remove the unnecessary code.

- GenFds/Fd.py:146:
  unused method 'GenFlashMap' (60% confidence)
- GenFds/FdfParser.py:1539:
  unused attribute 'BaseAddressPcd' (60% confidence)
- GenFds/FdfParser.py:1556:
  unused attribute 'SizePcd' (60% confidence)
- GenFds/FdfParser.py:2394:
  unused attribute 'CurrentLineNum' (60% confidence)
- GenFds/FdfParser.py:2395:
  unused attribute 'CurrentLineContent' (60% confidence)
- GenFds/FdfParser.py:2653:
  unused attribute 'CurrentLineNum' (60% confidence)
- GenFds/FdfParser.py:2654:
  unused attribute 'CurrentLineContent' (60% confidence)
- GenFds/FdfParser.py:3229:
  unused attribute 'CreateFile' (60% confidence)
- GenFds/FfsFileStatement.py:36:
  unused attribute 'CurrentLineNum' (60% confidence)
- GenFds/FfsFileStatement.py:37:
  unused attribute 'CurrentLineContent' (60% confidence)
- GenFds/FfsInfStatement.py:68:
  unused attribute 'CurrentLineNum' (60% confidence)
- GenFds/FfsInfStatement.py:69:
  unused attribute 'CurrentLineContent' (60% confidence)
- GenFds/GenFds.py:68:
  unused attribute 'LibDir' (60% confidence)
- GenFds/GenFds.py:557:
  unused method 'GetFvBlockSize' (60% confidence)

Signed-off-by: Pierre Gondois &lt;pierre.gondois@arm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Remove unused import</title>
<updated>2025-07-01T01:51:38+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2025-04-30T10:57:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f54fe78d9a1a760bdfd50131221cb93916ce5865'/>
<id>urn:sha1:f54fe78d9a1a760bdfd50131221cb93916ce5865</id>
<content type='text'>
Running the vulture tool gave the following report.
Remove the unused import.

- BPDG/BPDG.py:21:
  unused import 'encodings' (90% confidence)
- build/build.py:61:
  unused import 'Manager' (90% confidence)
- Ecc/CParser4/CLexer.py:4:
  unused import 'TextIO' (90% confidence)
- Ecc/CParser4/CParser.py:5:
  unused import 'TextIO' (90% confidence)
- Eot/CParser4/CLexer.py:4:
  unused import 'TextIO' (90% confidence)
- Eot/CParser4/CParser.py:5:
  unused import 'TextIO' (90% confidence)
- Eot/EotMain.py:28:
  unused import 'ConvertGuid' (90% confidence)
- GenFds/FdfParser.py:16:
  unused import 'hexdigits' (90% confidence)
- Table/TableEotReport.py:16:
  unused import 'EotToolError' (90% confidence)
- UPT/Library/CommentGenerating.py:19:
  unused import 'USAGE_ITEM_NOTIFY' (90% confidence)
- UPT/Library/ParserValidate.py:18:
  unused import 'COMPONENT_TYPE_LIST' (90% confidence)
- UPT/Library/UniClassObject.py:25:
  unused import 'CheckUTF16FileHeader' (90% confidence)

Signed-off-by: Pierre Gondois &lt;pierre.gondois@arm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Clean up os.path.normcase and os.path.normpath usage</title>
<updated>2025-01-09T07:25:45+00:00</updated>
<author>
<name>Yang Gang</name>
<email>yanggang@byosoft.com.cn</email>
</author>
<published>2024-12-19T06:01:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3ac092cf721010f6f457e268dcbf5be83bfab243'/>
<id>urn:sha1:3ac092cf721010f6f457e268dcbf5be83bfab243</id>
<content type='text'>
Refer to the docs of python, `os.path.normcase(path)` function:
"Normalize the case of a pathname. On Windows, convert all characters in
the pathname to lowercase, and also convert forward slashes to backward
slashes. On other operating systems, return the path unchanged."

`os.path.normpath(path)` also convert forward slashes to backward slashes.

So call `os.path.normcase` after `os.path.normpath` just convert path to
lowercase on Windows(only).

And Windows is case-insensitive but case-preserving.

So the usage of `os.path.normcase(os.path.normpath(path))` can be
simplified to `os.path.normpath(path)`. Then we can use case-preserving
paths rather than lowercase paths in compile_commands.json file
or build log.

But this patch continue to use `os.path.normcase`
when comparing/searching paths.

Signed-off-by: Yang Gang &lt;yanggang@byosoft.com.cn&gt;
</content>
</entry>
</feed>
