[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [UNIKRAFT PATCH v5 2/7] build: Link libgcc at the end of the link options list
Reviewed-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> On 4/9/20 4:19 AM, Jia He wrote: To use newlib on arm64 plat kvm, libgcc should be linked at the end of the options list, otherwise it will be ignored due to -stdlib. Without this patch, there will be a linking error on arm kvm plat: syslog.c:(.text+0x7d5cc): undefined reference to `__floatsitf' syslog.c:(.text+0x7d5cc): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__floatsitf' /root/hj/UK/unikraft_upstream/apps/helloworld/build/helloworld_kvm-arm64.o: In function `__ieee754_hypotl': syslog.c:(.text+0x99434): undefined reference to `__multf3' syslog.c:(.text+0x99434): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__multf3' syslog.c:(.text+0x99444): undefined reference to `__multf3' syslog.c:(.text+0x99444): additional relocation overflows omitted from the output syslog.c:(.text+0x99450): undefined reference to `__addtf3' /root/hj/UK/unikraft_upstream/apps/helloworld/build/helloworld_kvm-arm64.o: In function `sqrtl': syslog.c:(.text+0xb12c0): undefined reference to `__trunctfdf2' syslog.c:(.text+0xb12c8): undefined reference to `__extenddftf2' Above undefined symbols are at libgcc.a Signed-off-by: Jia He <justin.he@xxxxxxx> --- plat/kvm/Linker.uk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plat/kvm/Linker.uk b/plat/kvm/Linker.uk index 5e42193..65a5f8e 100644 --- a/plat/kvm/Linker.uk +++ b/plat/kvm/Linker.uk @@ -2,6 +2,7 @@ ifeq (x86_64,$(CONFIG_UK_ARCH)) KVM_LDFLAGS-y += -Wl,-m,elf_x86_64 else ifeq (arm64,$(CONFIG_UK_ARCH)) KVM_LDFLAGS-y += -Wl,-m,aarch64elf +KVM_LINK_LIBGCC_FLAG := -lgcc endif@@ -26,6 +27,7 @@ $(KVM_DEBUG_IMAGE): $(KVM_ALIBS) $(KVM_ALIBS-y) $(KVM_OLIBS) $(KVM_OLIBS-y) \-Wl$(comma)--start-group \ $(KVM_ALIBS) $(KVM_ALIBS-y) \ $(UK_ALIBS) $(UK_ALIBS-y) \ + $(KVM_LINK_LIBGCC_FLAG) \ -Wl$(comma)--end-group \ -o $(KVM_IMAGE).ld.o) $(call build_cmd,OBJCOPY,,$(KVM_IMAGE).o,\
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |