2017-03-08, 14:10
I'm trying to build ipxe.efi for arm64 architecture and get some linker errors:
It seems that there are some header files missing or not included correctly.
I start the build with "make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 bin-arm64-efi/ipxe.efi -j8".
My host system is an Ubuntu 14.04 LTS.
Code:
rm -f bin-arm64-efi/*.* bin-arm64-efi/.certificate.* bin-arm64-efi/.certificates.* bin-arm64-efi/.private_key.* bin-arm64-efi/errors bin-arm64-efi/NIC ./util/zbin ./util/elf2efi32 ./util/elf2efi64 ./util/efirom ./util/efifatbin ./util/iccfix ./util/einfo TAGS bin-arm64-efi/symtab
[PARSEROM]
[DEPS] arch/arm64/core/setjmp.S
[DEPS] arch/arm/interface/efi/efiarm_nap.c
[DEPS] arch/arm64/core/arm64_tcpip.c
[DEPS] arch/arm64/core/arm64_string.c
[DEPS] arch/arm64/core/arm64_bigint.c
[DEPS] config/config_usb.c
[DEPS] config/config_timer.c
[DEPS] config/config_route.c
...
...
[BUILD] bin-arm64-efi/qib7322.ids.o
[BUILD] bin-arm64-efi/ehci.ids.o
[BUILD] bin-arm64-efi/uhci.ids.o
[BUILD] bin-arm64-efi/xhci.ids.o
[HOSTCC] util/elf2efi64
[VERSION] bin-arm64-efi/version.ipxe.efi.o
[AR] bin-arm64-efi/blib.a
aarch64-linux-gnu-ar: creating bin-arm64-efi/blib.a
[LD] bin-arm64-efi/ipxe.efi.tmp
bin-arm64-efi/blib.a(3c509.o): In function `t509_select_tag':
/home/andre/Software/ipxe/src/drivers/net/3c509.c:101: undefined reference to `outb'
bin-arm64-efi/blib.a(3c509.o): In function `t509_wait_for_id_sequence':
/home/andre/Software/ipxe/src/drivers/net/3c509.c:85: undefined reference to `outb'
...
...
bin-arm64-efi/blib.a(w89c840.o): In function `w89c840_probe':
/home/andre/Software/ipxe/src/drivers/net/w89c840.c:690: undefined reference to `outl'
aarch64-linux-gnu-ld: bin-arm64-efi/ipxe.efi.tmp: hidden symbol `insw' isn't defined
aarch64-linux-gnu-ld: final link failed: Bad value
make: *** [bin-arm64-efi/ipxe.efi.tmp] Error 1
rm bin-arm64-efi/version.ipxe.efi.o
It seems that there are some header files missing or not included correctly.
I start the build with "make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 bin-arm64-efi/ipxe.efi -j8".
My host system is an Ubuntu 14.04 LTS.