From 441495912bc291680f007450b598274948b727b7 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 24 Nov 2007 15:34:07 +0000 Subject: klibc-utils-fstype: Create a separate recipe for klibc's fstype. * ... built against normal system libc. --- packages/klibc/files/fstype-sane-and-vfat.patch | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 packages/klibc/files/fstype-sane-and-vfat.patch (limited to 'packages/klibc/files') diff --git a/packages/klibc/files/fstype-sane-and-vfat.patch b/packages/klibc/files/fstype-sane-and-vfat.patch new file mode 100644 index 0000000000..7b7674637a --- /dev/null +++ b/packages/klibc/files/fstype-sane-and-vfat.patch @@ -0,0 +1,60 @@ +Patch to compile fstype util against "normal" libc (glibc/uclicb), and to +add vfat detection. + +--- klibc-1.1.1/utils/fstype.c.org 2005-09-06 23:49:34.000000000 +0300 ++++ klibc-1.1.1/utils/fstype.c 2007-11-24 01:07:26.000000000 +0200 +@@ -13,11 +13,18 @@ + */ + + #include ++#include + #include + #include + #include + #include + #include ++#if __BYTE_ORDER == __BIG_ENDIAN ++#include ++#else ++#include ++#endif ++ + + #define cpu_to_be32(x) __cpu_to_be32(x) /* Needed by romfs_fs.h */ + +@@ -105,6 +112,18 @@ + return 0; + } + ++static int vfat_image(const unsigned char *buf, unsigned long *blocks) ++{ ++ const struct romfs_super_block *sb = ++ (const struct romfs_super_block *)buf; ++ if (!strncmp(buf + 54, "FAT12 ", 8) ++ || !strncmp(buf + 54, "FAT16 ", 8) ++ || !strncmp(buf + 82, "FAT32 ", 8)) ++ return 1; ++ ++ return 0; ++} ++ + static int minix_image(const unsigned char *buf, unsigned long *blocks) + { + const struct minix_super_block *sb = +@@ -167,8 +186,6 @@ + (const struct xfs_sb *)buf; + + if (__be32_to_cpu(sb->sb_magicnum) == XFS_SB_MAGIC) { +- *blocks = __be64_to_cpu(sb->sb_dblocks) * +- (__be32_to_cpu(sb->sb_blocksize) / BLOCK_SIZE); + return 1; + } + return 0; +@@ -184,6 +201,7 @@ + { 0, "gzip", gzip_image }, + { 0, "cramfs", cramfs_image }, + { 0, "romfs", romfs_image }, ++ { 0, "vfat", vfat_image }, + { 0, "xfs", xfs_image }, + { 1, "minix", minix_image }, + { 1, "ext3", ext3_image }, -- cgit v1.2.3