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

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



Hi Justin,

I have a few comments but I can fix those on upstream.

Thanks,

-- Felipe

Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>

On 20.12.19, 05:54, "Jia He" <justin.he@xxxxxxx> wrote:

    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)
    
I think the commit message can be more specific, saying that strtold_l is 
compile-guarded by _HAVE_LONG_DOUBLE

    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

This doesn't change anything and shouldn't be part of the patch.

-- Felipe

     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®.