From patchwork Sun Apr 12 09:36:29 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Martin Jansa X-Patchwork-Id: 85882 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2E6BAF44859 for ; Sun, 12 Apr 2026 09:36:44 +0000 (UTC) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.234298.1775986593937371074 for ; Sun, 12 Apr 2026 02:36:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=nmzg7z7b; spf=pass (domain: gmail.com, ip: 209.85.221.54, mailfrom: martin.jansa@gmail.com) Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-43d7605ec91so169613f8f.3 for ; Sun, 12 Apr 2026 02:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775986592; x=1776591392; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=M9Izu+5O7H7082eQLXsZe3nBvkdyJYQGyVW1AUXihZA=; b=nmzg7z7bwAABx6a9UfEbWGiXevXWSabwKA2YTMOC92ZEY1lWtMll4wwMOYqFenL8xE PXqR4opFVucryKVy96qpvxCsHOHkz0bxbVQPXPan7RHF2n9bx9iHIEaTfk9i0jvuZI01 x5G/W0WwX6hO1il9Nrq7A1Ou5+FEwt3SSlvpbS9XXqHZ7gnK7uEbbGdigwQJcrarNwJj iKwkv1t3EhFUTIQ67MfXYvvrZAE6cDyAY2jRA3tAQMeB0ZBr4pswaj1EzQP3JLj+nRuk ZJa7AfxbWrCmYajEV02tOoVLzFisNgim2i7ziHIIMjxtdX76YkEDjIJ6ziK3VzVThIDy HmoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775986592; x=1776591392; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=M9Izu+5O7H7082eQLXsZe3nBvkdyJYQGyVW1AUXihZA=; b=j/S6Ei08F9LhRUO53+6vA3QHsa+7u3xAIelv1bIa29ALtO/XkMa0ws370k08mddFsi qXpX+KbPI0aZM35XeNIVvBopbXQGmLY13wMKEbr1ucd8Lj+dQ4ELbSLmMO81+11z7Fuy 3uvshKBIDzpdS6O6VPElRguZyIfKbFOQc0YhIzCGYEduPx2ssZ7qmg/tRgyWSBFKS9/m /aJKH/a+Up6/8c0nlKemJahdfIW5S43LzsLGbrppqNLaUDmY579bXv5O3ejqgV9tM6ly NowvQN87caSKY7+yTXhRaVLeQVigQrWq8s88skPZkgHASupEC0kPaw9Uf9Czvv49W77C Xarw== X-Gm-Message-State: AOJu0YxMaWGrmeOzlcNH5jECb/q48iEAQuYBa6fVYmlYCzF6/4dnMmKV J+q/Fp15m8i7sYeLkDN5NWBVASpyXTrHSt1uksKnyojmQVMvgq/6vsunuAqbow== X-Gm-Gg: AeBDiesAm+sfjHuLRxXQzVnhR8yxSGlFuEEaAq4PVeXaLTmr89X0f64k2QqNANo01R9 TpEiQzODIhdj0SI4aha56LGAN239b5BtWr4lc7QuIdUaaedEEmufbGte9kPkjkuZmJiDrqEuqXv 8SLr71YGzBCY3U7iAzh2CNHJjc9m8jKYrucsZ6/Gl9QFBf0QiMqjMkgzq8xK+ymWaBcECLBAWNt bGevEoOJ1DiEx7Vpay6ECkDgVy9AqF9LSqvWzEBPjVbOVhMOAkF7poUbLUm6z8kCF5JrqVxIUDL xdtgan4bQJfZh1QYaruCQxgOvu6BXZ2Ch+uRFpiL+AS4v9Lwj0mNO/2mTSAkTMnPO90UvGge6GP l3JT2OUW4WGS4sMxtRrsOjvRPjNM4YPmH7JvNOndRr9QTmSTzwxS51Zji3WNQLaosHAIupwEMxm 4PvWB1OIpdJq414zvDMlIU42m6kwg89B3XH2p9ch7yXLMtNuwUKVPDAaBFQhWUYqQsiLbjwvfwE 6rB2nOP2A== X-Received: by 2002:a05:600c:64cd:b0:485:3cf3:1010 with SMTP id 5b1f17b1804b1-488d67df592mr130979105e9.2.1775986592118; Sun, 12 Apr 2026 02:36:32 -0700 (PDT) Received: from localhost ([109.238.218.228]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488d58a8438sm227951975e9.5.2026.04.12.02.36.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2026 02:36:31 -0700 (PDT) From: martin.jansa@gmail.com To: openembedded-core@lists.openembedded.org Cc: Martin Jansa Subject: [scarthgap][PATCH] ovmf: backport a fix for build with gcc-16 Date: Sun, 12 Apr 2026 11:36:29 +0200 Message-ID: <20260412093629.816730-1-martin.jansa@gmail.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 12 Apr 2026 09:36:44 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/235058 From: Martin Jansa Fixes build on host with gcc-16: StringFuncs.c: In function ‘SplitStringByWhitespace’: StringFuncs.c:113:15: error: variable ‘Item’ set but not used [-Werror=unused-but-set-variable=] 113 | UINTN Item; | ^~~~ and EfiRom.c: In function ‘main’: EfiRom.c:78:17: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] 78 | if ((Ptr0 = strstr ((CONST CHAR8 *) mOptions.FileList->FileName, DEFAULT_OUTPUT_EXTENSION)) != NULL) { | ^ and one more for older version used in scarthgap main.c: In function ‘ProcessArgs’: main.c:163:42: error: too many arguments to function ‘p->process’; expected 0, have 2 163 | (*p->process)( *argv, *(argv+1) ); | ~^~~~~~~~~~~~ ~~~~~ main.c:120:34: note: declared here 120 | WildFunc process; | ^~~~~~~ main.c:168:42: error: too many arguments to function ‘p->process’; expected 0, have 1 168 | (*p->process)( *argv ); | ~^~~~~~~~~~~~ ~~~~~ main.c:120:34: note: declared here 120 | WildFunc process; | ^~~~~~~ Signed-off-by: Martin Jansa --- ...Tools-StringFuncs-fix-gcc-16-warning.patch | 42 ++++++++++++++++++ ...aseTools-EfiRom-fix-compiler-warning.patch | 44 +++++++++++++++++++ .../0008-BaseTools-Pccts-set-C-standard.patch | 44 +++++++++++++++++++ meta/recipes-core/ovmf/ovmf_git.bb | 3 ++ 4 files changed, 133 insertions(+) create mode 100644 meta/recipes-core/ovmf/ovmf/0006-BaseTools-StringFuncs-fix-gcc-16-warning.patch create mode 100644 meta/recipes-core/ovmf/ovmf/0007-BaseTools-EfiRom-fix-compiler-warning.patch create mode 100644 meta/recipes-core/ovmf/ovmf/0008-BaseTools-Pccts-set-C-standard.patch diff --git a/meta/recipes-core/ovmf/ovmf/0006-BaseTools-StringFuncs-fix-gcc-16-warning.patch b/meta/recipes-core/ovmf/ovmf/0006-BaseTools-StringFuncs-fix-gcc-16-warning.patch new file mode 100644 index 0000000000..a465dede9c --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/0006-BaseTools-StringFuncs-fix-gcc-16-warning.patch @@ -0,0 +1,42 @@ +From 015c26aea52a54e96319887ea542870b4804fb91 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 29 Jan 2026 09:23:32 +0100 +Subject: [PATCH] BaseTools/StringFuncs: fix gcc 16 warning +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +StringFuncs.c: In function ‘SplitStringByWhitespace’: +StringFuncs.c:113:15: error: variable ‘Item’ set but not used [-Werror=unused-but-set-variable=] + 113 | UINTN Item; + | ^~~~ + +Signed-off-by: Gerd Hoffmann + +Upstream-Status: Backport [edk2-stable202602 https://github.com/tianocore/edk2/commit/3597306191297b504683b83fe7750e49c6a2e836] +Signed-off-by: Martin Jansa +--- + BaseTools/Source/C/Common/StringFuncs.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/BaseTools/Source/C/Common/StringFuncs.c b/BaseTools/Source/C/Common/StringFuncs.c +index 53e44365e9..df02d9c808 100644 +--- a/BaseTools/Source/C/Common/StringFuncs.c ++++ b/BaseTools/Source/C/Common/StringFuncs.c +@@ -110,7 +110,6 @@ SplitStringByWhitespace ( + CHAR8 *EndOfSubString; + CHAR8 *EndOfString; + STRING_LIST *Output; +- UINTN Item; + + String = CloneString (String); + if (String == NULL) { +@@ -120,7 +119,7 @@ SplitStringByWhitespace ( + + Output = NewStringList (); + +- for (Pos = String, Item = 0; Pos < EndOfString; Item++) { ++ for (Pos = String; Pos < EndOfString;) { + while (isspace ((int)*Pos)) { + Pos++; + } diff --git a/meta/recipes-core/ovmf/ovmf/0007-BaseTools-EfiRom-fix-compiler-warning.patch b/meta/recipes-core/ovmf/ovmf/0007-BaseTools-EfiRom-fix-compiler-warning.patch new file mode 100644 index 0000000000..7aaafe6efb --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/0007-BaseTools-EfiRom-fix-compiler-warning.patch @@ -0,0 +1,44 @@ +From 4d2bdadcd6d45f6708b1b4827b0dc9b6e4b8edd2 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 8 Dec 2025 10:28:50 +0100 +Subject: [PATCH] BaseTools/EfiRom: fix compiler warning +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +New warning after updating gcc: + +EfiRom.c: In function ‘main’: +EfiRom.c:78:17: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] + +The assigned value is not used, so fix the warning by just removing it. + +Signed-off-by: Gerd Hoffmann + +Upstream-Status: Backport [edk2-stable202602 https://github.com/tianocore/edk2/commit/9af06ef3cbb052b142f9660c2c01e7aeb401300c] +Signed-off-by: Martin Jansa +--- + BaseTools/Source/C/EfiRom/EfiRom.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/BaseTools/Source/C/EfiRom/EfiRom.c b/BaseTools/Source/C/EfiRom/EfiRom.c +index fa7bf0e62e..6e903b3504 100644 +--- a/BaseTools/Source/C/EfiRom/EfiRom.c ++++ b/BaseTools/Source/C/EfiRom/EfiRom.c +@@ -44,7 +44,6 @@ Returns: + FILE_LIST *FList; + UINT32 TotalSize; + UINT32 Size; +- CHAR8 *Ptr0; + + SetUtilityName(UTILITY_NAME); + +@@ -75,7 +74,7 @@ Returns: + // + if (mOptions.DumpOption == 1) { + if (mOptions.FileList != NULL) { +- if ((Ptr0 = strstr ((CONST CHAR8 *) mOptions.FileList->FileName, DEFAULT_OUTPUT_EXTENSION)) != NULL) { ++ if (strstr ((CONST CHAR8 *) mOptions.FileList->FileName, DEFAULT_OUTPUT_EXTENSION) != NULL) { + DumpImage (mOptions.FileList); + goto BailOut; + } else { diff --git a/meta/recipes-core/ovmf/ovmf/0008-BaseTools-Pccts-set-C-standard.patch b/meta/recipes-core/ovmf/ovmf/0008-BaseTools-Pccts-set-C-standard.patch new file mode 100644 index 0000000000..de4ccb8a47 --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/0008-BaseTools-Pccts-set-C-standard.patch @@ -0,0 +1,44 @@ +From 74bc6545e72707a47dd9dae42ce33b8877b10000 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 20 Jan 2025 09:40:31 +0100 +Subject: [PATCH] BaseTools/Pccts: set C standard + +The prehistoric code base doesn't build with ISO C23. Set the C +standard to C11 (for both clang and gcc) so it continues to build with +gcc 15 (which uses C23 by default). + +Signed-off-by: Gerd Hoffmann + +Upstream-Status: Backport [edk2-stable202502 https://github.com/tianocore/edk2/commit/e063f8b8a53861043b9872cc35b08a3dc03b0942] +Signed-off-by: Martin Jansa +--- + BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile | 2 +- + BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile b/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile +index 746d58b5e2..b47c8a37af 100644 +--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile ++++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile +@@ -169,7 +169,7 @@ ANTLR=${BIN_DIR}/antlr + DLG=${BIN_DIR}/dlg + OBJ_EXT=o + OUT_OBJ = -o +-CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) -DZZLEXBUFSIZE=65536 ++CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) -DZZLEXBUFSIZE=65536 -std=gnu11 + CPPFLAGS= + # + # SGI Users, use this CFLAGS +diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile b/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile +index e45ac98e04..d72bee3d70 100644 +--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile ++++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile +@@ -123,7 +123,7 @@ endif + COPT=-O + ANTLR=${BIN_DIR}/antlr + DLG=${BIN_DIR}/dlg +-CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -DZZLEXBUFSIZE=65536 ++CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -DZZLEXBUFSIZE=65536 -std=gnu11 + CPPFLAGS= + OBJ_EXT=o + OUT_OBJ = -o diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb index 319f03a8d2..badde30d97 100644 --- a/meta/recipes-core/ovmf/ovmf_git.bb +++ b/meta/recipes-core/ovmf/ovmf_git.bb @@ -26,6 +26,9 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \ file://0004-reproducible.patch \ file://0001-MdePkg-Fix-overflow-issue-in-BasePeCoffLib.patch \ file://0001-MdeModulePkg-Potential-UINT32-overflow-in-S3-ResumeC.patch \ + file://0006-BaseTools-StringFuncs-fix-gcc-16-warning.patch \ + file://0007-BaseTools-EfiRom-fix-compiler-warning.patch \ + file://0008-BaseTools-Pccts-set-C-standard.patch \ " PV = "edk2-stable202402"