<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/BaseTools/Source/Python/Common, 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-09-06T23:50:31+00:00</updated>
<entry>
<title>BaseTools: Optimize parsing of byte-array PCD values</title>
<updated>2026-09-06T23:50:31+00:00</updated>
<author>
<name>kuqin12</name>
<email>42554914+kuqin12@users.noreply.github.com</email>
</author>
<published>2026-08-21T22:12:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=4d55998e8b0a251b5124bdf240ddaad9921e6257'/>
<id>urn:sha1:4d55998e8b0a251b5124bdf240ddaad9921e6257</id>
<content type='text'>
This change adds a fast path for simple VOID* hexadecimal byte arrays,
avoiding the generic expression tokenizer's repeated processing of large
PCD values. Regression tests for both paths. It does not change the
existing parser for structured and symbolic expressions.

This reduces parsing time for a 28 KiB generated PCD from roughly 2
seconds to 50 milliseconds.

Signed-off-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
</content>
</entry>
<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/Build: Output warning message for library class mismatch</title>
<updated>2026-08-06T04:55:34+00:00</updated>
<author>
<name>Joey Vagedes</name>
<email>joey.vagedes@gmail.com</email>
</author>
<published>2024-07-02T17:27:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c5aa7e7d94c0e6b3c0202e15dbf7a5c92dd6a01d'/>
<id>urn:sha1:c5aa7e7d94c0e6b3c0202e15dbf7a5c92dd6a01d</id>
<content type='text'>
Performs a check that will verify that the library instance implements
the library specified in the dsc by ensuring a LIBRARY_CLASS definition
exists in the INF [Defines] section and the value matches the library it
says it is implementing.

As an example, from a platform dsc file:
BaseBmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf

BaseBmpSupportLib is supposed to be of library class BmpSupportLib, but the
dsc defines it incorrectly, the warning message will be displayed during
build.

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;
Co-authored-by: Poncho Figueroa &lt;poncho.figueroa.esqueda@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Reject Inline Comments in tools_def</title>
<updated>2026-04-21T00:18:43+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-04-03T20:37:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=be4fc071eb01c7420707e887c92a3adf3e07ea72'/>
<id>urn:sha1:be4fc071eb01c7420707e887c92a3adf3e07ea72</id>
<content type='text'>
There is a bug in BaseTools currently when an inline
comment is used in tools_def. The comment is not
stripped out and wreaks havoc down the line,
causing BaseTools to get confused elsewhere and
drop build options it should be applying.

This fixes that behavior by following the build spec
which states:

Comments are only allows on separate lines and may not
be appended appear on actual entry lines.

Inline comments are now not allowed and the build will
fail and specify why and where.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.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:Expression.py Adding a check for missing '}' in the parser</title>
<updated>2025-04-14T20:53:02+00:00</updated>
<author>
<name>Doug Flick</name>
<email>dougflick@microsoft.com</email>
</author>
<published>2025-04-14T16:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0f1c0d2d2d9e567746ce4fedea23f833fa0d3abd'/>
<id>urn:sha1:0f1c0d2d2d9e567746ce4fedea23f833fa0d3abd</id>
<content type='text'>
This check is to catch cases where a missing '}' exists in a dec or dsc
file.

Signed-off-by: Doug Flick &lt;dougflick@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools:Expression.py Add Assertion for PCD with value {}</title>
<updated>2025-04-14T20:53:02+00:00</updated>
<author>
<name>Doug Flick</name>
<email>dougflick@microsoft.com</email>
</author>
<published>2025-04-11T23:06:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1805068b5ef41572569da02f2347317d5665ddee'/>
<id>urn:sha1:1805068b5ef41572569da02f2347317d5665ddee</id>
<content type='text'>
This adds an assertion to the PCD class in the Expression.py
file to check for zero-byte PCDs.

Signed-off-by: Doug Flick &lt;dougflick@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools:Expression.py Size used before Init</title>
<updated>2025-04-14T20:53:02+00:00</updated>
<author>
<name>Doug Flick</name>
<email>dougflick@microsoft.com</email>
</author>
<published>2025-04-03T20:32:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a1b623b938b8aa2a019c11f7c07eca7504a03749'/>
<id>urn:sha1:a1b623b938b8aa2a019c11f7c07eca7504a03749</id>
<content type='text'>
The following example fails to be parsed correctly due to Size
being used in the outer scope but initialized in the inner
scope

```
gPlatformPkgTokenSpaceGuid.PcdSecureBootDbxBinaryFile|{}
```

Problematic code:

```python
for Item in NewPcdValueList:
      Size = 0
      # ....

if Size &gt; 0:
      PcdValue = '{' + ', '.join(AllPcdValueList) + '}'
````

Signed-off-by: Doug Flick &lt;dougflick@microsoft.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>
