tags 604717 patch
severity 604717 critital
thanks
Ok, after reading these FAQ entries, I am more convinnced this is the
right solution.
Q: Can you please port the diet libc to FreeBSD/Solaris/Windows?
A: No.
Q: Can I compile or use the diet libc with a compiler that is not gcc?
A: Compile: no. Use: yes.
So worrying about what *BSD/Solaris do would be pointless.
All this patch does is remove some underscores so that endian.h checks
__sparcv9 like is done in longlong.h. I only tested with gcc, but this
should work with the sun compiler too, if it's even possible to use the
sun compiler on linux.
Unlike reverting patch 0013, this should work even when compiling without
-Os.
I was initially hesitant to give this bug a very high severity, since it
very indirectly breaks the system, but I suppose I need to do that so
#603882 can be fixed. I did try recompiling util-vserver with this patched
dietlibc-dev and it works now.
Thanks,
Ivan
diff -ru dietlibc-0.32.orig//include/endian.h dietlibc-0.32/include/endian.h
--- dietlibc-0.32.orig//include/endian.h 2005-10-04 13:47:03.000000000
-0400
+++ dietlibc-0.32/include/endian.h 2010-12-14 15:12:24.000000000 -0500
@@ -39,7 +39,7 @@
# define __LONG_LONG_PAIR(HI, LO) HI, LO
#endif
-#if defined(__alpha__) || defined(__mips64__) || defined(__sparc_v9__) ||
defined(__x86_64__) || defined(__ia64__) || defined(__powerpc64__) ||
defined(__s390x__)
+#if defined(__alpha__) || defined(__mips64__) || defined(__sparcv9) ||
defined(__x86_64__) || defined(__ia64__) || defined(__powerpc64__) ||
defined(__s390x__)
#define __WORDSIZE 64
#endif