mirror of
https://github.com/ipxe/ipxe
synced 2025-12-29 11:03:15 +03:00
[efi] Fix .efi and .efidrv linking
The linker chooses to look for _start first and always picks efidrvprefix.o to satisfy it (probably because it's earlier in the archive) which causes a multiple definition error when the linker later has to pick efiprefix.o for other symbols. Fix by using EFI-specific TGT_LD_FLAGS with an explicit entry point. Signed-off-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Signed-off-by: Joshua Oreman <oremanj@rwcr.net> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
committed by
Michael Brown
parent
7c6d3752c9
commit
c68839d4d6
@@ -13,6 +13,10 @@ LDFLAGS += -q -S
|
||||
NON_AUTO_MEDIA += efi
|
||||
NON_AUTO_MEDIA += efidrv
|
||||
|
||||
# Specify entry point
|
||||
#
|
||||
TGT_LD_FLAGS_PRE = -e _$(TGT_PREFIX)_start
|
||||
|
||||
# Rules for building EFI files
|
||||
#
|
||||
$(BIN)/%.efi : $(BIN)/%.efi.tmp $(ELF2EFI)
|
||||
|
||||
Reference in New Issue
Block a user