EDK2_00_07 - CLANG support

About

The CLANGDWARF toolchain currently supports building for IA32, X64, ARM and AARCH64.

Due to the fact that it uses both Clang and the LLVM linker LLD, CLANGDWARF can be used on any host architecture to build all of these target architectures without the need to install cross compilers or linkers. This means the threshold for doing cross-architecture test builds and even test runs is lower for contributors than when using GCC based toolchain configurations..

Given that Clang and LLD already implement support for RISC-V target, let's add it to the CLANGDWARF toolchain configuration as well.

Project Scope and Timelines

Primarily, changes to BaseTools/Conf/tools_def.template in edk2 to support CLANGDWARF toolchain. Fix any issues blocking the build and test.

Changes slated for 2H 2023.

Components and Repos

Upstream edk2 - https://github.com/tianocore/edk2

Stakeholders and Partners

  • RISE
    • Intel - Andrei Warkentin
  • Community
    • Rebecca Cran
    • Ard Biesheuvel
    • Heinrich Schuchardt
    • Gerd Hoffmann

Dependencies

None

Measure of Success

An accepted and tested design and implementation by end of 2H 2023 (slated for merging).

RISE Requirements

None (not accounting any of existing engineering investment against RISE resources).

Status

Dependency

None


Development

COMPLETED

URL: https://github.com/vlsunil/edk2/tree/clang_lld_lto
Development Timeline2H 2023
Upstreaming

COMPLETED

URL:
Upstream versionedk2-stable202308
ContactsSunil V L (Ventana)

Updates

  • Project reported as priority for 2H23