mips64 problems

Florian Fainelli florian at openwrt.org
Mon Dec 3 17:25:33 UTC 2012


On Sunday 18 November 2012 05:08:44 Mike Frysinger wrote:
> On Wednesday 26 September 2012 10:54:10 Waldemar Brodkorb wrote:
> > The problem is this line in Rules.mak:
> > ifneq ($(findstring  $(TARGET_ARCH) , hppa64 ia64 mips64 powerpc64 s390x
> > sparc64 x86_64 ),) UCLIBC_LDSO_NAME := ld64-uClibc
> > ARCH_NATIVE_BIT := 64
> > else
> > UCLIBC_LDSO_NAME := ld-uClibc
> > ARCH_NATIVE_BIT := 32
> > endif
> > 
> > TARGET_ARCH can not be set to mips64 via make menuconfig or any .config.
> > How is it supposed to work?
> > 
> > Would be the use of TARGET_SUBARCH a solution?
> 
> no, it should be using the ABI field for mips and ignoring the arch entirely
> 
> looking at gcc, i see it using these paths:
> 	o32: /lib/ld-uClibc.so.0
> 	n32: /lib32/ld-uClibc.so.0
> 	n64: /lib/ld64-uClibc.so.0
> 
> you could try this patch:

This looks good to me, and actually works for me. Thanks!

> 
> --- a/Rules.mak
> +++ b/Rules.mak
> @@ -118,12 +118,17 @@
>  LIBC := libc
>  SHARED_LIBNAME := $(LIBC).so.$(ABI_VERSION)
>  UBACKTRACE_DSO := libubacktrace.so.$(ABI_VERSION)
> -ifneq ($(findstring  $(TARGET_ARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 ),)
> +
> +UCLIBC_LDSO_NAME := ld-uClibc
> +ARCH_NATIVE_BIT := 32
> +ifneq ($(findstring  $(TARGET_ARCH) , hppa64 ia64 powerpc64 s390x sparc64 x86_64 ),)
>  UCLIBC_LDSO_NAME := ld64-uClibc
>  ARCH_NATIVE_BIT := 64
>  else
> -UCLIBC_LDSO_NAME := ld-uClibc
> -ARCH_NATIVE_BIT := 32
> +ifeq ($(CONFIG_MIPS_N64_ABI),y)
> +UCLIBC_LDSO_NAME := ld64-uClibc
> +ARCH_NATIVE_BIT := 64
> +endif
>  endif
>  UCLIBC_LDSO := $(UCLIBC_LDSO_NAME).so.$(ABI_VERSION)
>  NONSHARED_LIBNAME := uclibc_nonshared.a
> -mike


More information about the uClibc mailing list