]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
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)
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

index e21b54fdbcb233dfddcb14cb04269dd355ceb4df..003d5f8304108a480034dd9c36755df58dc692dd 100644 (file)
@@ -144,6 +144,7 @@ section_table:
                 IMAGE_SCN_CNT_INITIALIZED_DATA)
 
        .align          12
+       .globl          _start
 _start:
        stp             x29, x30, [sp, #-32]!
        mov             x29, sp
index 91b0fe12c516e640340bfff9f94aa983d0a995cc..1e7de5c3343dac2957aefef7cb661cbce2ee791f 100644 (file)
@@ -143,6 +143,7 @@ section_table:
                 IMAGE_SCN_CNT_INITIALIZED_DATA)
 
        .align          12
+       .globl          _start
 _start:
        stmfd           sp!, {r0-r2, lr}
 
index 9eacbe4a859b97bd75695d97c2349cd3a007c799..f170e4b26d691ced391716ed008f90fb79f957e4 100644 (file)
@@ -179,6 +179,7 @@ section_table:
                 IMAGE_SCN_CNT_INITIALIZED_DATA)
 
        .align          12
+       .globl          _start
 _start:
        addi            sp, sp, -(SIZE_LONG * 3)
        SAVE_LONG(a0, 0)