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


Leif Lindholm
 

Hi Liming,

On Sat, Jun 05, 2021 at 09:18:54 +0800, gaoliming wrote:
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.
Note - this does not only affect GCC49: it also affects at least
GCC5 and CLANG38. This patch resolves the issue.

Tested-by: Leif Lindholm <leif@...> (GCC49, GCC5, CLANG38)

Thanks!

/
Leif

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.