From 6d8460b1efdc121f6c3dff9e4cfd8642c76c42d7 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei.gherzan@huawei.com>
Date: Mon, 12 Jul 2021 20:03:55 +0100
Subject: [PATCH] ovmf: Backport upstream patch to fix VLA parameter
 warning/error

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
 .../ovmf/ovmf/Fix-VLA-parameter-warning.patch | 49 +++++++++++++++++++
 .../recipes-core/ovmf/ovmf_%.bbappend         |  6 +++
 2 files changed, 55 insertions(+)
 create mode 100644 meta-ohos-core/recipes-core/ovmf/ovmf/Fix-VLA-parameter-warning.patch
 create mode 100644 meta-ohos-core/recipes-core/ovmf/ovmf_%.bbappend

diff --git a/meta-ohos-core/recipes-core/ovmf/ovmf/Fix-VLA-parameter-warning.patch b/meta-ohos-core/recipes-core/ovmf/ovmf/Fix-VLA-parameter-warning.patch
new file mode 100644
index 00000000..f524a05e
--- /dev/null
+++ b/meta-ohos-core/recipes-core/ovmf/ovmf/Fix-VLA-parameter-warning.patch
@@ -0,0 +1,49 @@
+From 0a3944c8c99b8d10cc4325f721b7c273d2b41f7b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Adri=C3=A1n=20Herrera=20Arcila?= <adr.her.arc.95@gmail.com>
+Date: Wed, 23 Jun 2021 08:53:59 +0100
+Subject: [PATCH] Fix VLA parameter warning (#893)
+
+Make VLA buffer types consistent in declarations and definitions.
+Resolves build crash when using -Werror due to "vla-parameter" warning.
+
+Signed-off-by: Adrian Herrera <adr.her.arc.95@gmail.com>
+Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
+Upstream-status: Backport [https://github.com/google/brotli/commit/0a3944c8c99b8d10cc4325f721b7c273d2b41f7b]
+---
+ c/dec/decode.c | 6 ++++--
+ c/enc/encode.c | 5 +++--
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
+index ae5a3d3f..7eee9688 100644
+--- a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
++++ b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
+@@ -2033,8 +2033,10 @@ static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands(
+ }
+ 
+ BrotliDecoderResult BrotliDecoderDecompress(
+-    size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,
+-    uint8_t* decoded_buffer) {
++    size_t encoded_size,
++    const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)],
++    size_t* decoded_size,
++    uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]) {
+   BrotliDecoderState s;
+   BrotliDecoderResult result;
+   size_t total_out = 0;
+diff --git a/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c b/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
+index 8d90937b..0c49c641 100644
+--- a/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
++++ b/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
+@@ -1470,8 +1470,9 @@ static size_t MakeUncompressedStream(
+ 
+ BROTLI_BOOL BrotliEncoderCompress(
+     int quality, int lgwin, BrotliEncoderMode mode, size_t input_size,
+-    const uint8_t* input_buffer, size_t* encoded_size,
+-    uint8_t* encoded_buffer) {
++    const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)],
++    size_t* encoded_size,
++    uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]) {
+   BrotliEncoderState* s;
+   size_t out_size = *encoded_size;
+   const uint8_t* input_start = input_buffer;
diff --git a/meta-ohos-core/recipes-core/ovmf/ovmf_%.bbappend b/meta-ohos-core/recipes-core/ovmf/ovmf_%.bbappend
new file mode 100644
index 00000000..862e97c1
--- /dev/null
+++ b/meta-ohos-core/recipes-core/ovmf/ovmf_%.bbappend
@@ -0,0 +1,6 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI += "file://Fix-VLA-parameter-warning.patch"
-- 
GitLab