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

[Rebase & FF] Adding support for CLANGPDB build #848

Merged
merged 5 commits into from
Jun 6, 2024
Merged

Conversation

kuqin12
Copy link
Contributor

@kuqin12 kuqin12 commented May 13, 2024

Preface

Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.

Description

This change added the tools_def section for building AARCH64 target with CLANGPDB.

A few assembly files are fixed up to remove unsupported directives.

Lastly, an issue of uninitialized variable that might be used is fixed from DevicesPathLib.

For each item, place an "x" in between [ and ] if true. Example: [x].
(you can also check items in the GitHub UI)

  • 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

This change is tested on QEMU SBSA platform and booted to UEFI shell.

Integration Instructions

Platforms that would like to build with CLANGPDB should specify TOOL_CHAIN_TAG=CLANGPDB to build with CLANGPDB.

@kuqin12 kuqin12 requested a review from cfernald May 13, 2024 23:44
@codecov-commenter
Copy link

codecov-commenter commented May 14, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 1.03%. Comparing base (719bf75) to head (8acf178).

Additional details and impacted files
@@                Coverage Diff                 @@
##           release/202311     #848      +/-   ##
==================================================
- Coverage            1.22%    1.03%   -0.19%     
==================================================
  Files                1304     1304              
  Lines              335782   335226     -556     
  Branches             3189     3006     -183     
==================================================
- Hits                 4118     3485     -633     
+ Misses             331588   331300     -288     
- Partials               76      441     +365     
Flag Coverage Δ
MdeModulePkg 0.41% <ø> (-0.28%) ⬇️
NetworkPkg 0.00% <ø> (ø)
PolicyServicePkg 28.75% <ø> (-1.66%) ⬇️

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.

@kuqin12 kuqin12 force-pushed the fix_clang branch 3 times, most recently from ed7f3dc to bdced54 Compare May 14, 2024 00:28
@kuqin12 kuqin12 changed the title Adding support for CLANGPDB build [Rebase & FF] Adding support for CLANGPDB build Jun 3, 2024
@kuqin12 kuqin12 marked this pull request as ready for review June 3, 2024 20:23
@kuqin12
Copy link
Contributor Author

kuqin12 commented Jun 5, 2024

need MU_CHANGE all over.

@kuqin12 kuqin12 force-pushed the fix_clang branch 3 times, most recently from eb07578 to 88b895f Compare June 5, 2024 23:54
BaseTools/Conf/tools_def.template Outdated Show resolved Hide resolved
kuqin12 and others added 3 commits June 5, 2024 17:12
This change adds the support for building AARCH64 target platforms using
CLANDPDB.

Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Co-authored-by: Chris Fernald <chfernal@microsoft.com>
Signed-off-by: Kun Qin <kuqin@microsoft.com>
This change removed a few directives unsupported by CLANDPDB.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Signed-off-by: Kun Qin <kuqin@microsoft.com>
This change removed directives unsupported by CLANGPDB.

It also resovles a symbol not found error due to unsupported attributes.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Signed-off-by: Kun Qin <kuqin@microsoft.com>
@kuqin12 kuqin12 enabled auto-merge (rebase) June 6, 2024 17:59
@kuqin12 kuqin12 disabled auto-merge June 6, 2024 17:59
This file is duplicate across multiple rebases. This change is added to
remove it.
There could a path where the variable is used without being initialized.

This change initialized the variable at the function entry.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Kun Qin <kuqin@microsoft.com>
@kuqin12 kuqin12 enabled auto-merge (rebase) June 6, 2024 18:06
@kuqin12 kuqin12 merged commit 4298c31 into release/202311 Jun 6, 2024
37 checks passed
@kuqin12 kuqin12 deleted the fix_clang branch June 6, 2024 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants