[1/2] arm/edk2-firmware: force debug builds when using Clang

Message ID 20211202202844.2555322-1-ross.burton@arm.com
State New
Headers show
Series [1/2] arm/edk2-firmware: force debug builds when using Clang | expand

Commit Message

Ross Burton Dec. 2, 2021, 8:28 p.m. UTC
edk2-firmware release builds with clang fail:

MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c:142:15:
error: variable 'Status' set but not used [-Werror,-Wunused-but-set-variable]

This is upstream as https://bugzilla.tianocore.org/show_bug.cgi?id=3758,
but until that is resolved we can just force debug builds with clang.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta-arm/recipes-bsp/uefi/edk2-firmware.inc | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Ross Burton Dec. 3, 2021, 12:35 p.m. UTC | #1
Still broken, v2 incoming.

On Thu, 2 Dec 2021 at 20:28, Ross Burton via lists.yoctoproject.org
<ross=burtonini.com@lists.yoctoproject.org> wrote:
>
> edk2-firmware release builds with clang fail:
>
> MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c:142:15:
> error: variable 'Status' set but not used [-Werror,-Wunused-but-set-variable]
>
> This is upstream as https://bugzilla.tianocore.org/show_bug.cgi?id=3758,
> but until that is resolved we can just force debug builds with clang.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta-arm/recipes-bsp/uefi/edk2-firmware.inc | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
> index 7072d1b4..dd428d41 100644
> --- a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
> +++ b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
> @@ -26,6 +26,10 @@ COMPATIBLE_MACHINE ?= "invalid"
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>
>  EDK2_BUILD_RELEASE = "1"
> +# Release builds don't work with clang yet:
> +# https://bugzilla.tianocore.org/show_bug.cgi?id=3758
> +EDK2_BUILD_RELEASE:toolchain-clang = "0"
> +
>  EDK2_PLATFORM      = "unset"
>  # build --platform
>  EDK2_PLATFORM_DSC  = "unset"
> @@ -110,3 +114,4 @@ do_deploy() {
>      cp -rf ${D}/firmware/* ${DEPLOYDIR}/
>  }
>  addtask deploy after do_install
> +TOOLCHAIN = "clang"
> \ No newline at end of file
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#2511): https://lists.yoctoproject.org/g/meta-arm/message/2511
> Mute This Topic: https://lists.yoctoproject.org/mt/87461917/1676615
> Group Owner: meta-arm+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [ross@burtonini.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>

Patch

diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
index 7072d1b4..dd428d41 100644
--- a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
+++ b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
@@ -26,6 +26,10 @@  COMPATIBLE_MACHINE ?= "invalid"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 EDK2_BUILD_RELEASE = "1"
+# Release builds don't work with clang yet:
+# https://bugzilla.tianocore.org/show_bug.cgi?id=3758
+EDK2_BUILD_RELEASE:toolchain-clang = "0"
+
 EDK2_PLATFORM      = "unset"
 # build --platform
 EDK2_PLATFORM_DSC  = "unset"
@@ -110,3 +114,4 @@  do_deploy() {
     cp -rf ${D}/firmware/* ${DEPLOYDIR}/
 }
 addtask deploy after do_install
+TOOLCHAIN = "clang"
\ No newline at end of file