Le 05/10/2011 06:18, Tim Serong a écrit :
Hi All,
I spent some time with dietlibc on the weekend. Here's the story:
* The attached patch is necessary to fix the immediate build error (doesn't recognize armv7a as a known architecture).
* If you apply this patch, later, the build fails with:
gcc -D__dietlibc__ -I. -isystem include -fmessage-length=0 -march=armv7-a -mtune=cortex-a9 -mlittle-endian -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb -mabi=aapcs-linux -Os -Wall -fstack-protector -g -fno-strict-aliasing -c arm/__longjmp.S -o bin-arm/__longjmp.o arm/__longjmp.S: Assembler messages: arm/__longjmp.S:9: Error: selected processor does not support ARM mode `lfm f4,4,[ip],#48'
Apparently, FPU vfpv3-d16 doesn't include the lfm opcode (nor sfm, used in setjmp). I am unfortunately grossly unqualified to have an opinion on this, or to (re)implement a correct setjmp/longjmp.
* I suspected an upgrade to dietlibc 0.32 may be good/useful (see changelog at http://www.fefe.de/dietlibc/changes-0.32.txt, it mentions some ARM fixes), but AFACIT even upgrading to 0.32 does not fix the above lfm/sfm opcode issue.
Did you try it?
* Unless other packages depend on it, I'm somewhat tempted to suggest dropping dietlibc if suitable fixes can't be located. The last upstream release was in 2009, and there's mention of it having "numerous unfixed bugs" on the busybox web site (http://busybox.net/FAQ.html#libc)
Dietlibc is clearly unmaintened and buggy. Other more or less light libc can be used if nedded: uClibc, eglibc. Moreover, a quick search about packages which need dietlibc in YaST return me nothing! Only the dietlibc package is related to dietlibc. So, I would say, drop it! Cheers, Guillaume
Regards,
Tim
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-arm+help@opensuse.org