arm: riscv: efi: Export _start symbol from crt0_*_efi stubs
authorSam Edwards <cfsworks@gmail.com>
Sat, 15 Mar 2025 22:18:09 +0000 (15:18 -0700)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Mon, 17 Mar 2025 08:22:03 +0000 (09:22 +0100)
commit214a87757ac70d5b6523142136678a53e7d4232f
tree73b7cc2de389a4737e4a174860db3cb2c15dd674
parent60ea8a94d60eeb296b1631f3914d11ef0621b1dc
arm: riscv: efi: Export _start symbol from crt0_*_efi stubs

While the _start label is only intended for use locally to populate the
(hand-written) PE header, the linker script includes ENTRY(_start) which
designates it as the entry point in the output ELF, resulting in linker
warnings under some linkers (e.g. LLVM's lld) due to _start not being a
globally-visible symbol. Since  ELF is only an intermediary build
format, and the aforementioned PE header correctly points to _start, the
ENTRY(_start) directive could easily be removed to silence this warning.

However, since some developers who are debugging EFI by analyzing the
intermediary ELF may appreciate having correct entry-point information,
this patch instead promotes the _start labels to global symbols,
silencing the linker warning and making the intermediary ELF reflect the
true entry point.

This patch doesn't affect the final output binaries in any way.

Signed-off-by: Sam Edwards <CFSworks@gmail.com>
arch/arm/lib/crt0_aarch64_efi.S
arch/arm/lib/crt0_arm_efi.S
arch/riscv/lib/crt0_riscv_efi.S