[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/2] Makefile.uk: Fix link issues on arm64



Without this patch, when starting helloworld app with newlib on arm
kvm plat, it will report a link error as follows:
apps/helloworld.newlib/build/helloworld_kvm-arm64.o: In function `wcstold_l':
apps/helloworld.newlib/build/libnewlibc/origin/newlib-2.5.0.20170922/newlib/libc/stdlib/wcstold.c:77:
 undefined reference to `strtold_l'
apps/helloworld.newlib/build/libnewlibc/origin/newlib-2.5.0.20170922/newlib/libc/stdlib/wcstold.c:77:(.text+0x7c4e4):
 relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 
`strtold_l'

I once did configure and build of newlib from uptream, this macro is
defined on my Thunderx2 armv8a server (Unbuntu 18.04 + gcc version 7.4.0)

Signed-off-by: Jia He <justin.he@xxxxxxx>
---
 Makefile.uk | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Makefile.uk b/Makefile.uk
index 17d8d7a..377815c 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -85,9 +85,12 @@ LIBNEWLIB_GLOBAL_FLAGS-y  += -DMISSING_SYSCALL_NAMES 
-DMALLOC_PROVIDED
 LIBNEWLIB_GLOBAL_FLAGS-y  += -D_POSIX_REALTIME_SIGNALS
 LIBNEWLIB_GLOBAL_FLAGS-$(CONFIG_LIBNEWLIBC_WANT_IO_C99_FORMATS) += 
-D_WANT_IO_C99_FORMATS
 LIBNEWLIB_GLOBAL_FLAGS-$(CONFIG_LIBNEWLIBC_LINUX_ERRNO_EXTENSIONS) += 
-D__LINUX_ERRNO_EXTENSIONS__
+ifeq ($(CONFIG_ARCH_ARM_64),y)
+LIBNEWLIB_GLOBAL_FLAGS-y  += -D_HAVE_LONG_DOUBLE
+endif
 ifeq ($(CONFIG_ARCH_X86_64),y)
-LIBNEWLIB_GLOBAL_FLAGS-y  += -D_LDBL_EQ_DBL
 LIBNEWLIB_GLOBAL_FLAGS-y  += -D_HAVE_LONG_DOUBLE
+LIBNEWLIB_GLOBAL_FLAGS-y  += -D_LDBL_EQ_DBL
 endif
 
 CFLAGS-y   += $(LIBNEWLIB_GLOBAL_FLAGS-y)
-- 
2.17.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.