mips64 problems
Carmelo AMOROSO
carmelo.amoroso at st.com
Fri Nov 2 09:19:46 UTC 2012
On 02/11/2012 10.04, Carmelo AMOROSO wrote:
> On 26/09/2012 16.54, Waldemar Brodkorb wrote:
>> Hi,
>>
>
> Hello,
>
>> when building a buildroot based system for the target qemu-mips64-malta I get following output
>> generated:
>> wbx at neon:~/adk/buildroot $ ./output/host/usr/bin/mips64-linux-readelf -a output/target/bin/busybox |grep interpreter
>> [Requesting program interpreter: /lib/ld64-uClibc.so.0]
>> wbx at neon:~/adk/buildroot $ ls -la output/target/lib/ld-uClibc*
>> -rwxr-xr-x 1 wbx admin 32280 Sep 26 15:51 output/target/lib/ld-uClibc-0.9.33.2.so
>> lrwxr-xr-x 1 wbx admin 21 Sep 26 14:25 output/target/lib/ld-uClibc.so.0 -> ld-uClibc-0.9.33.2.so
>>
>> 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?
>>
>
> it's not working indeed.
>> Would be the use of TARGET_SUBARCH a solution?
>
> I don't think so, as it's not a SUBARCH, even if I'm not expert of the
> MIPS platform.
>
> We could add a Config.mips64 to make it selectable as a mips64 arch, but
> this will have hge impact on the current mips specific code that is
> generic for the different ABI and implement internally a check wrt to
> the ABI.
>
> Anyway, looking at Config.mips, I can see that is possible to configure
> it as a 64bit (by setting the Target ABI to CONFIG_MIPS_N64_ABI), but I
> don't know exactly the implications (the only use I can see is to pass
> -mips64 to the compiler, that should generate MIPS64 ABI compatible code
> only).
>
>
>
>> Something like that:
>> diff -Nur uClibc-0.9.33.2.orig/Rules.mak uClibc-0.9.33.2/Rules.mak
>> --- uClibc-0.9.33.2.orig/Rules.mak 2012-05-15 09:20:09.000000000 +0200
>> +++ uClibc-0.9.33.2/Rules.mak 2012-09-21 19:28:45.000000000 +0200
>> @@ -118,7 +118,7 @@
>> 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 ),)
>> +ifneq ($(findstring $(TARGET_SUBARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 ),)
>
> this will have an overall impact on all others. I think we should do an
> exception for mips.
>
>> UCLIBC_LDSO_NAME := ld64-uClibc
>> ARCH_NATIVE_BIT := 64
>> else
>> diff -Nur uClibc-0.9.33.2.orig/extra/Configs/Config.in uClibc-0.9.33.2/extra/Configs/Config.in
>> --- uClibc-0.9.33.2.orig/extra/Configs/Config.in 2012-05-15 09:20:09.000000000 +0200
>> +++ uClibc-0.9.33.2/extra/Configs/Config.in 2012-09-21 19:29:11.000000000 +0200
>> @@ -235,6 +235,7 @@
>> default "i486" if CONFIG_486
>> default "i586" if CONFIG_586 || CONFIG_586MMX
>> default "i686" if TARGET_ARCH = "i386"
>> + default "mips64" if CONFIG_MIPS_ISA_MIPS64
>
> this looks fine
I meant does not look fine, as I sais, it is not a SUBARCH in my
understanding.
Carmelo
>
>> default ""
>>
>> source "extra/Configs/Config.in.arch"
>>
>> Any feedback is appreciated.
>>
>> thanks in advance
>> Waldemar
>>
>
> I'll try to post a patch.
> Carmelo
>
>> _______________________________________________
>> uClibc mailing list
>> uClibc at uclibc.org
>> http://lists.busybox.net/mailman/listinfo/uclibc
>>
>>
>
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc
>
>
More information about the uClibc
mailing list