diff options
author | Piotr Jaroszyński | 2010-03-30 18:18:43 +0200 |
---|---|---|
committer | Michael Brown | 2010-05-27 11:38:12 +0200 |
commit | c68839d4d69742ac21c430aca8a9a4de81dd6ca5 (patch) | |
tree | e5cc42d7e05387c02bab34e060502adf782e2e2d /src/Makefile.housekeeping | |
parent | [compiler] Fix 64bit compile time errors (diff) | |
download | ipxe-c68839d4d69742ac21c430aca8a9a4de81dd6ca5.tar.gz ipxe-c68839d4d69742ac21c430aca8a9a4de81dd6ca5.tar.xz ipxe-c68839d4d69742ac21c430aca8a9a4de81dd6ca5.zip |
[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>
Diffstat (limited to 'src/Makefile.housekeeping')
-rw-r--r-- | src/Makefile.housekeeping | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 81396724..fbb274ff 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -612,7 +612,8 @@ TGT_LD_IDS = pci_vendor_id=$(firstword $(TGT_PCI_VENDOR) 0) \ # TGT_LD_FLAGS = $(foreach SYM,$(TGT_LD_PREFIX) $(TGT_LD_DRIVERS) obj_config,\ -u $(SYM) --defsym check_$(SYM)=$(SYM) ) \ - $(patsubst %,--defsym %,$(TGT_LD_IDS)) + $(patsubst %,--defsym %,$(TGT_LD_IDS)) \ + $(TGT_LD_FLAGS_PRE) # Calculate list of debugging versions of objects to be included in # the target. |