]> 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)
committerTom Rini <trini@konsulko.com>
Wed, 2 Apr 2025 20:33:50 +0000 (14:33 -0600)
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>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
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 235b3a0c48f1b606310bd8c6a298d2320a1e4394..593ee1e194add443f006cbb49e2073571ffd911f 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)