With the recent kernel patch
viro@www.linux.org.uk[torvalds]|include/linux/
romfs_fs.h|20041006145144|23705
aka "romfs endianness annotations" utils/fstype.c no longer links
because
cpu_to_be32 is undefined.
Options:
1) Change the header to be ok for userspace
diff -ur ../linux-2.5/include/linux/romfs_fs.h
linux/include/linux/romfs_fs.h
--- ../linux-2.5/include/linux/romfs_fs.h 2004-10-08 21:37:26.000000000
+0200
+++ linux/include/linux/romfs_fs.h 2004-10-11 17:35:23.000000000 +0200
@@ -12,7 +12,7 @@
#define __mkw(h,l) (((h)&0x00ff)<< 8|((l)&0x00ff))
#define __mkl(h,l) (((h)&0xffff)<<16|((l)&0xffff))
-#define __mk4(a,b,c,d) cpu_to_be32(__mkl(__mkw(a,b),__mkw(c,d)))
+#define __mk4(a,b,c,d) __cpu_to_be32(__mkl(__mkw(a,b),__mkw(c,d)))
#define ROMSB_WORD0 __mk4('-','r','o','m')
#define ROMSB_WORD1 __mk4('1','f','s','-')
2) A quick hack to make this program compile:
--- klibc-0.181/utils/fstype.c.orig 2004-10-11 17:44:02.000000000 +0200
+++ klibc-0.181/utils/fstype.c 2004-10-11 17:46:17.000000000 +0200
@@ -34,6 +34,7 @@
char *progname;
+#define cpu_to_be32(x) __cpu_to_be32(x)
#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
#define BLOCK_SIZE_BITS 10
3) have some klibc header provide all the cpu_to_[bl]e.. family, and
remove the underscores from
util/fstype.h
milton
Milton Miller wrote:> > Options: > > 1) Change the header to be ok for userspace > > diff -ur ../linux-2.5/include/linux/romfs_fs.h > linux/include/linux/romfs_fs.h > --- ../linux-2.5/include/linux/romfs_fs.h 2004-10-08 > 21:37:26.000000000 +0200 > +++ linux/include/linux/romfs_fs.h 2004-10-11 17:35:23.000000000 +0200 > @@ -12,7 +12,7 @@ > > #define __mkw(h,l) (((h)&0x00ff)<< 8|((l)&0x00ff)) > #define __mkl(h,l) (((h)&0xffff)<<16|((l)&0xffff)) > -#define __mk4(a,b,c,d) cpu_to_be32(__mkl(__mkw(a,b),__mkw(c,d))) > +#define __mk4(a,b,c,d) __cpu_to_be32(__mkl(__mkw(a,b),__mkw(c,d))) > #define ROMSB_WORD0 __mk4('-','r','o','m') > #define ROMSB_WORD1 __mk4('1','f','s','-') > > > 2) A quick hack to make this program compile: > --- klibc-0.181/utils/fstype.c.orig 2004-10-11 17:44:02.000000000 +0200 > +++ klibc-0.181/utils/fstype.c 2004-10-11 17:46:17.000000000 +0200 > @@ -34,6 +34,7 @@ > > char *progname; > > +#define cpu_to_be32(x) __cpu_to_be32(x) > #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) > > #define BLOCK_SIZE_BITS 10 > > 3) have some klibc header provide all the cpu_to_[bl]e.. family, and > remove the underscores from > util/fstype.h >I have already done (2), but I would prefer if someone sent (1) in as well. -hpa