Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[202405][REBASE&FF] Apply Project Mu BaseTools Changes #1004

Open
wants to merge 7 commits into
base: release/202405
Choose a base branch
from

Conversation

Javagedes
Copy link
Contributor

@Javagedes Javagedes commented Jun 28, 2024

Description

Applies Project Mu Changes to BaseTools. Some commits are being upstreamed to edk2.

Includes:
e0afbf0
6335354
a18705c
ad47ec9
5c597f5

  • Impacts functionality?
    • Functionality - Does the change ultimately impact how firmware functions?
    • Examples: Add a new library, publish a new PPI, update an algorithm, ...
  • Impacts security?
    • Security - Does the change have a direct security impact on an application,
      flow, or firmware?
    • Examples: Crypto algorithm change, buffer overflow fix, parameter
      validation improvement, ...
  • Breaking change?
    • Breaking change - Will anyone consuming this change experience a break
      in build or boot behavior?
    • Examples: Add a new library class, move a module to a different repo, call
      a function in a new library class in a pre-existing module, ...
  • Includes tests?
    • Tests - Does the change include any explicit test code?
    • Examples: Unit tests, integration tests, robot tests, ...
  • Includes documentation?
    • Documentation - Does the change contain explicit documentation additions
      outside direct code modifications (and comments)?
    • Examples: Update readme file, add feature readme file, link to documentation
      on an a separate Web page, ...

How This Was Tested

CI Passes

Integration Instructions

N/A

@github-actions github-actions bot added language:python Pull requests that update Python code impact:non-functional Does not have a functional impact labels Jun 28, 2024
@Javagedes Javagedes force-pushed the BaseTools-Mu branch 3 times, most recently from b2743fb to a12049a Compare June 28, 2024 17:58
@Javagedes Javagedes marked this pull request as ready for review June 28, 2024 18:21
@codecov-commenter
Copy link

codecov-commenter commented Jul 1, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (release/202405@0784762). Learn more about missing BASE report.

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202405    #1004   +/-   ##
=================================================
  Coverage                  ?   43.42%           
=================================================
  Files                     ?      180           
  Lines                     ?    25101           
  Branches                  ?     6016           
=================================================
  Hits                      ?    10901           
  Misses                    ?    14135           
  Partials                  ?       65           
Flag Coverage Δ
MdeModulePkg 17.80% <ø> (?)
MdePkg 51.59% <ø> (?)
NetworkPkg 8.51% <ø> (?)
UefiCpuPkg 39.84% <ø> (?)
UnitTestFrameworkPkg 6.01% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Javagedes Javagedes changed the title Base tools mu [202405][REBASE&FF] Apply Project Mu BaseTools Changes Jul 1, 2024
@Javagedes Javagedes requested review from os-d and makubacki July 1, 2024 17:40
BaseTools/Conf/tools_def.template Outdated Show resolved Hide resolved
BaseTools/Conf/tools_def.template Outdated Show resolved Hide resolved
BaseTools/Conf/tools_def.template Outdated Show resolved Hide resolved
BaseTools/Conf/tools_def.template Outdated Show resolved Hide resolved
MdePkg/Library/VsIntrinsicLib/IA32/llmul.asm Outdated Show resolved Hide resolved
MdePkg/Library/VsIntrinsicLib/VsIntrinsicLib.inf Outdated Show resolved Hide resolved
MdePkg/MdePkg.ci.yaml Outdated Show resolved Hide resolved
@Javagedes Javagedes force-pushed the BaseTools-Mu branch 3 times, most recently from 3d3ca53 to 955df67 Compare July 1, 2024 18:16
@Javagedes Javagedes force-pushed the BaseTools-Mu branch 2 times, most recently from 7497474 to b162449 Compare July 1, 2024 18:32
@Javagedes Javagedes force-pushed the BaseTools-Mu branch 4 times, most recently from 314b3da to fd74d4a Compare July 2, 2024 15:05
@Javagedes Javagedes enabled auto-merge (rebase) July 2, 2024 15:09
@Javagedes Javagedes disabled auto-merge July 2, 2024 18:39
@Javagedes Javagedes force-pushed the BaseTools-Mu branch 3 times, most recently from e208c24 to 367e16c Compare July 2, 2024 20:11
Javagedes and others added 7 commits July 2, 2024 15:08
Applies Project Mu changes to the tools_def.template file as noted in
the version update.
When including one ASL file in another, add a header / footer to the
included file to easily tell where the included file starts and ends.

Signed-off-by: Joey Vagedes <[email protected]>
Update MdePkg.dsc to use VsIntrinsicLib when building IA32 components
with VS2022 Build Tools.

Signed-off-by: Bret Barkelew <[email protected]>
Currently, the build flags located in the respfilelist.txt file (if it
exists) are only logged if the command fails,. Thus, The typical log
message for a build command that exceeds 4096 characters is the command
itself, followed by the flag pointing at the respfilelist.txt. This
makes a review of the build log harder than it needs to be. This commit
changes the logic such that the build flags are always logged, making it
easier to review the build logs, rather than needing to navigate to the
respfilelist.txt file.

Signed-off-by: Joey Vagedes <[email protected]>
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.

That is to say, for the following example:
`TestLib|Path/To/BaseTestLib.inf`, that BaseTestLib.inf has
`LIBRARY_CLASS = TestLib` defined in the [Defines] section.

Signed-off-by: Joey Vagedes <[email protected]>
Update retrieval of private guids, protocols, or ppis from a package's
declaration file to use the original path of the module's INF file
rather than the current path. When building the same module multiple
times in the same INF (by override the define's FILE_GUID), a temporary
instance of the module is generated outside the package, causing the
retrieval of private values to fail as the check to access private
values is done by verifying the module to build, is inside the package.

Signed-off-by: Joey Vagedes <[email protected]>

Cc: Rebecca Cran <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Bob Feng <[email protected]>
Cc: Yuwei Chen <[email protected]>
The xdrlib dependency was removed in commit
5cadb8c but the actual import of the
module was not removed. This commit removes the import of xdrlib and
sorts the imports.

Signed-off-by: Joey Vagedes <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:non-functional Does not have a functional impact language:python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants