[PATCH u-boot v3 10/39] efi_loader: fix warning when linking with LTO

Marek Behún
2021-03-16T12:25:40Z

When linking with LTO, the compiler complains about type mismatch of
variables `__efi_runtime_start`, `__efi_runtime_stop`,
`__efi_runtime_rel_start` and `__efi_runtime_rel_stop`:

include/efi_loader.h:218:21: warning: type of ?__efi_runtime_start?
does not match original
declaration [-Wlto-type-mismatch]
218 | extern unsigned int __efi_runtime_start, __efi_runtime_stop;
| ^
arch/sandbox/lib/sections.c:7:6: note: ?__efi_runtime_start? was
previously declared here
7 | char __efi_runtime_start[0] __attribute__((section(".__efi_run
| ^

Change the type to char[] in include/efi_loader.h.

Signed-off-by: Marek Beh?n <marek.behun@nic.cz>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
include/efi_loader.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/efi_loader.h b/include/efi_loader.h
index e38b41952d..a8281b3c95 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -215,8 +215,8 @@ extern const efi_guid_t efi_guid_capsule_report;
/* GUID of firmware management protocol */
extern const efi_guid_t efi_guid_firmware_management_protocol;

-extern unsigned int __efi_runtime_start, __efi_runtime_stop;
-extern unsigned int __efi_runtime_rel_start, __efi_runtime_rel_stop;
+extern char __efi_runtime_start[], __efi_runtime_stop[];
+extern char __efi_runtime_rel_start[], __efi_runtime_rel_stop[];

/**
* struct efi_open_protocol_info_item - open protocol info item
--
2.26.2