-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
BaseTools: LinuxGcc5ToolChain: Run for GCC Toolchain #6223
Conversation
⚠ WARNING: Cannot add some reviewers: A user specified as a reviewer for this PR is not a collaborator of the repository. Please add them as a collaborator to the repository so they can be requested in the future. Non-collaborators requested: Attn Admins: Admin Instructions:
|
Will GCC5 tool chain be replaced by GCC tool chain? Is there the detail proposal for this change? |
@lgao4 here is the thread where @bcran added the GCC toolchain and deprecated the GCC5 (and earlier) toolchain: https://listman.redhat.com/archives/edk2-devel-archive/2023-May/063099.html |
Got it. Is this Plugin used in CI system? Which consumer needs to be updated? |
@lgao4, this plugin is used in the CI system for GCC builds on Linux. The CI system is still currently using GCC5, which is why this has not failed before (this is a prerequisite to moving the CI system to use GCC). No consumer needs to be updated because I made the script backwards compatible with GCC5. |
@lgao4 @bcran friendly reminder for reviewing. |
@lgao4 any further comment or can this be merged? |
The GCC5 TOOL_CHAIN_TAG is being deprecated in favor of GCC. LinuxGcc5ToolChain.py needs to be updated to find the correct ARM/AARCH64/RISCV/LOONGARCH64 compilers for the GCC TOOL_CHAIN_TAG, as well, otherwise it defaults to the system GCC, which is typically X64 based. In order to keep this backward and forward compatible, the plugin now checks for the substring "GCC" in the TOOL_CHAIN_TAG and will set either the "GCC5" or "GCC" env variables used by tools_def.template to find the GCC compiler for the requested architecture. This plugin is also renamed to drop the old GCC5. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
⚠ WARNING: Cannot add some reviewers: A user specified as a reviewer for this PR is not a collaborator of the repository. Please add them as a collaborator to the repository so they can be requested in the future. Non-collaborators requested: Attn Admins: Admin Instructions:
|
Description
The GCC5 TOOL_CHAIN_TAG is being deprecated in favor of GCC. LinuxGcc5ToolChain.py needs to be updated to find the correct ARM/AARCH64/RISCV/LOONGARCH64 compilers for the GCC TOOL_CHAIN_TAG, as well, otherwise it defaults to the system GCC, which is typically X64 based.
In order to keep this backward and forward compatible, the plugin now checks for the substring "GCC" in the TOOL_CHAIN_TAG and will set either the "GCC5" or "GCC" env variables used by tools_def.template to find the GCC compiler for the requested architecture.
This plugin is also renamed to drop the old GCC5. This is not a breaking change as the plugin is discovered automatically by the build system, not specified by name.
How This Was Tested
Tested building an ARM64 package on an x64 host with both TOOL_CHAIN_TAG=GCC and TOOL_CHAIN_TAG=GCC5.
Integration Instructions
N/A.