Re: [PATCH 1/1] BaseTools GenFw: Fix regression issue to convert the image to ACPI data


Bob Feng
 

Reviewed-by: Bob Feng <bob.c.feng@...>

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gaoliming
Sent: Saturday, June 5, 2021 9:19 AM
To: devel@edk2.groups.io
Cc: Ni, Ray <ray.ni@...>; Leif Lindholm <leif@...>; Feng, Bob C <bob.c.feng@...>
Subject: [edk2-devel] [PATCH 1/1] BaseTools GenFw: Fix regression issue to convert the image to ACPI data

With GCC49 tool chain, aslc file is compiled into elf image.
But, its text section has no CODE attribute. So, it can't be detected by new GenFw tool.For this type file. its text section is not required.
Its data section will be converted to acpi table.

This fix is to remove assert check when the generated image is ACPI data.

Signed-off-by: Liming Gao <gaoliming@...>
Cc: Ray Ni <ray.ni@...>
Cc: Leif Lindholm <leif@...>
Cc: Bob Feng <bob.c.feng@...>
---
This patch has been verified on GCC49 for AARCH64 platform.

BaseTools/Source/C/GenFw/Elf32Convert.c | 2 +- BaseTools/Source/C/GenFw/Elf64Convert.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/GenFw/Elf32Convert.c
index 7c8a065678ac..314f8233234d 100644
--- a/BaseTools/Source/C/GenFw/Elf32Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf32Convert.c
@@ -435,7 +435,7 @@ ScanSections32 (
}
}

- if (!FoundSection) {
+ if (!FoundSection && mOutImageType != FW_ACPI_IMAGE) {
Error (NULL, 0, 3000, "Invalid", "Did not find any '.text' section.");
assert (FALSE);
}
diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c
index 8fe672e98448..8b09db7b690b 100644
--- a/BaseTools/Source/C/GenFw/Elf64Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf64Convert.c
@@ -714,7 +714,7 @@ ScanSections64 (
}
}

- if (!FoundSection) {
+ if (!FoundSection && mOutImageType != FW_ACPI_IMAGE) {
Error (NULL, 0, 3000, "Invalid", "Did not find any '.text' section.");
assert (FALSE);
}
--
2.27.0.windows.1

Join devel@edk2.groups.io to automatically receive all group messages.