Re: linux-kernel-headers 2.6.18-1
On 2006-10-03 18:00 +0100, Wookey wrote:
> On 06-10-03 18:02 +0200, Hector Oron wrote:
> > Hello,
> >
> > Is it possible to build linux-kernel-headers - 2.6.18-1 - for ARM arch ?
>
> According to
> http://buildd.debian.org/~jeroen/status/package.php?p=linux-kernel-headers&a=arm
> they failed due to a syntax error:
> /build/buildd/linux-kernel-headers-2.6.18/testsuite/../debian/linux-kernel-headers/usr/include/asm/byteorder.h:21:
> error: expected '=', ',', ';', 'asm' or '__attribute__' before '__u32'
>
> Anyone had a look at that yet?
OK, I had a look. bug #391305.
This patch fixes it:
--- include/asm-arm/byteorder.h.orig 2006-10-05 22:44:38.679856441 +0100
+++ include/asm-arm/byteorder.h 2006-10-05 22:45:16.206748589 +0100
@@ -18,7 +18,7 @@
#include <linux/compiler.h>
#include <asm/types.h>
-static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
+static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
{
__u32 t;
@@ -29,7 +29,7 @@
* right thing and not screw it up to different degrees
* depending on the gcc version.
*/
- asm ("eor\t%0, %1, %1, ror #16" : "=r" (t) : "r" (x));
+ __asm__ ("eor\t%0, %1, %1, ror #16" : "=r" (t) : "r" (x));
} else
#endif
t = x ^ ((x << 16) | (x >> 16)); /* eor r1,r0,r0,ror #16 */
I don't really understand the distinction here, but all the other
arches except sh64 define this function with __inline__ (and __asm__) so I assume
that's correct (especially as it builds).
It may well be that sh64 is broken without a similar patch too, I
don't know.
This may not be an optimium fix - I welcome feedback from people who
actually understand the ins and outs of it.
zumbi - you should be able to build arm cross-toolchains once this
filters through.
Wookey
--
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://wookware.org/
Reply to: