yaffs: Fix compilation of utils
authorCharles Manning <cdhmanning@gmail.com>
Fri, 29 Apr 2011 05:08:07 +0000 (17:08 +1200)
committerCharles Manning <cdhmanning@gmail.com>
Thu, 19 May 2011 01:24:32 +0000 (13:24 +1200)
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
direct/yaffs_hweight.c
utils/Makefile
utils/mkyaffs2image.c
utils/mkyaffsimage.c

index c00517e3bbf398326221d5b6438b67df70200818..9851683d02be1382185b94c5c7c5a99c9c74e9c9 100644 (file)
@@ -45,9 +45,9 @@ int yaffs_hweight8(u8 x)
 
 int yaffs_hweight32(u32 x)
 {
-       return hweight8(x & 0xff) + 
-               hweight8((x >> 8) & 0xff) +
-               hweight8((x >> 16) & 0xff) +
-               hweight8((x >> 24) & 0xff);
+       return yaffs_hweight8(x & 0xff) + 
+               yaffs_hweight8((x >> 8) & 0xff) +
+               yaffs_hweight8((x >> 16) & 0xff) +
+               yaffs_hweight8((x >> 24) & 0xff);
 }
 
index 49bf03b1baac34d115bf7b6fb45716ef2e20076b..710ebbf3186b1f7ab40520cd6f223679fe125ad0 100644 (file)
@@ -16,7 +16,7 @@
 
 #KERNELDIR = /usr/src/kernel-headers-2.4.18
 
-CFLAGS =   -I/usr/include -I.. -O2 -Wall -DCONFIG_YAFFS_UTIL
+CFLAGS =    -O2 -Wall -DCONFIG_YAFFS_UTIL
 CFLAGS+=   -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations
 CFLAGS+=   -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Winline
 
@@ -25,30 +25,43 @@ MAKETOOLS =
 
 CC=$(MAKETOOLS)gcc
 
-COMMONLINKS = yaffs_ecc.c
-COMMONOBJS = $(COMMONLINKS:.c=.o)
+COMMON_BASE_C_LINKS = yaffs_ecc.c
+COMMON_BASE_LINKS = $(COMMON_BASE_C_LINKS) yaffs_ecc.h yaffs_guts.h yaffs_packedtags2.h yaffs_trace.h
+COMMON_DIRECT_C_LINKS = yaffs_hweight.c
+COMMON_C_LINKS = $(COMMON_DIRECT_C_LINKS) $(COMMON_BASE_C_LINKS)
+COMMON_DIRECT_LINKS= $(COMMON_DIRECT_C_LINKS) yportenv.h yaffs_hweight.h yaffs_list.h
+COMMONOBJS = $(COMMON_C_LINKS:.c=.o)
 
 MKYAFFSSOURCES = mkyaffsimage.c
 MKYAFFSIMAGEOBJS = $(MKYAFFSSOURCES:.c=.o)
 
 MKYAFFS2SOURCES = mkyaffs2image.c
-MKYAFFS2LINKS = yaffs_packedtags2.c yaffs_tagsvalidity.c
+MKYAFFS2LINKS = yaffs_packedtags2.c
 MKYAFFS2IMAGEOBJS = $(MKYAFFS2SOURCES:.c=.o) $(MKYAFFS2LINKS:.c=.o)
 
+BASE_LINKS = $(MKYAFFSLINKS) $(MKYAFFS2LINKS) $(COMMON_BASE_LINKS)
+DIRECT_LINKS = $(MKYAFFS_DIRECT_LINKS) $(MKYAFFS2_DIRECT_LINKS) $(COMMON_DIRECT_LINKS)
+ALL_LINKS = $(BASE_LINKS) $(DIRECT_LINKS)
+
 all: mkyaffsimage mkyaffs2image
 
-$(COMMONLINKS) $(MKYAFFSLINKS) $(MKYAFFS2LINKS):
+$(BASE_LINKS):
        ln -s ../$@ $@
 
+$(DIRECT_LINKS):
+       ln -s ../direct/$@ $@
+
+$(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : $(ALL_LINKS)
+
 $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : %.o: %.c
        $(CC) -c $(CFLAGS) $< -o $@
 
-mkyaffsimage: $(COMMONOBJS) $(MKYAFFSIMAGEOBJS)
-       $(CC) -o $@ $(COMMONOBJS) $(MKYAFFSIMAGEOBJS)
+mkyaffsimage: $(MKYAFFSIMAGEOBJS) $(COMMONOBJS)
+       $(CC) -o $@  $^
 
-mkyaffs2image: $(COMMONOBJS) $(MKYAFFS2IMAGEOBJS)
-       $(CC) -o $@ $(COMMONOBJS) $(MKYAFFS2IMAGEOBJS)
+mkyaffs2image: $(MKYAFFS2IMAGEOBJS) $(COMMONOBJS)
+       $(CC) -o $@ $^
 
 
 clean:
-       rm -f $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) $(COMMONLINKS) $(MKYAFFSLINKS) $(MKYAFFS2LINKS) mkyaffsimage mkyaffs2image core
+       rm -f $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) $(ALL_LINKS) mkyaffsimage mkyaffs2image core
index 2ad8edb64d508144f203581273f1cc4de99c0d70..5292b667ae7f1639baef227529dce953ef051509 100644 (file)
@@ -34,7 +34,6 @@
 #include "yaffs_ecc.h"
 #include "yaffs_guts.h"
 
-#include "yaffs_tagsvalidity.h"
 #include "yaffs_packedtags2.h"
 
 unsigned yaffs_trace_mask=0;
@@ -188,7 +187,7 @@ static int write_chunk(u8 *data, u32 id, u32 chunk_id, u32 n_bytes)
        if (write(outFile,data,chunkSize) != chunkSize)
                fatal("write");
 
-       yaffs_init_tags(&t);
+       memset(&t, 0, sizeof(t));
        
        t.chunk_id = chunk_id;
 //     t.serial_number = 0;
@@ -230,52 +229,41 @@ static int write_chunk(u8 *data, u32 id, u32 chunk_id, u32 n_bytes)
 // This one is easier, since the types are more standard. No funky shifts here.
 static void object_header_little_to_big_endian(struct yaffs_obj_hdr* oh)
 {
-    int i;    
     oh->type = SWAP32(oh->type); // GCC makes enums 32 bits.
     oh->parent_obj_id = SWAP32(oh->parent_obj_id); // int
     oh->sum_no_longer_used = SWAP16(oh->sum_no_longer_used); // u16 - Not used, but done for completeness.
     // name = skip. Char array. Not swapped.
     oh->yst_mode = SWAP32(oh->yst_mode);
-#ifdef CONFIG_YAFFS_WINCE // WinCE doesn't implement this, but we need to just in case. 
-    // In fact, WinCE would be *THE* place where this would be an issue.
-    // Why? WINCE is little-endian only.
 
-    {
-        int n = sizeof(oh->not_for_wince)/sizeof(oh->not_for_wince[0]);
-        for(i = 0; i < n; i++)
-            oh->not_for_wince[i] = SWAP32(oh->not_for_wince[i]);
-    }
-#else
     // Regular POSIX.
     oh->yst_uid = SWAP32(oh->yst_uid);
     oh->yst_gid = SWAP32(oh->yst_gid);
     oh->yst_atime = SWAP32(oh->yst_atime);
     oh->yst_mtime = SWAP32(oh->yst_mtime);
     oh->yst_ctime = SWAP32(oh->yst_ctime);
-#endif
 
     oh->file_size = SWAP32(oh->file_size); // Aiee. An int... signed, at that!
     oh->equiv_id = SWAP32(oh->equiv_id);
     // alias  - char array.
     oh->yst_rdev = SWAP32(oh->yst_rdev);
 
-#ifdef CONFIG_YAFFS_WINCE
     oh->win_ctime[0] = SWAP32(oh->win_ctime[0]);
     oh->win_ctime[1] = SWAP32(oh->win_ctime[1]);
     oh->win_atime[0] = SWAP32(oh->win_atime[0]);
     oh->win_atime[1] = SWAP32(oh->win_atime[1]);
     oh->win_mtime[0] = SWAP32(oh->win_mtime[0]);
     oh->win_mtime[1] = SWAP32(oh->win_mtime[1]);
-#else
 
-    {
-        int n = sizeof(oh->room_to_grow)/sizeof(oh->room_to_grow[0]);
-        for(i=0; i < n; i++)
-            oh->room_to_grow[i] = SWAP32(oh->room_to_grow[i]);
-    }
-#endif
+    oh->reserved[0] = SWAP32(oh->reserved[0]);
+    oh->reserved[1] = SWAP32(oh->reserved[1]);
+
+    oh->inband_shadowed_obj_id = SWAP32(oh->inband_shadowed_obj_id);
+    oh->inband_is_shrink = SWAP32(oh->inband_is_shrink);
+    oh->shadows_obj = SWAP32(oh->shadows_obj);
+    oh->is_shrink = SWAP32(oh->is_shrink);
 }
 
+
 static int write_object_header(int id, enum yaffs_obj_type t, struct stat *s, int parent, const char *name, int equivalentObj, const char * alias)
 {
        u8 bytes[chunkSize];
index fd3aad6ac876323bed38396dc668edee58dbc9a2..49636b1635d63de1c2755b36edb4678743d992e6 100644 (file)
@@ -275,54 +275,33 @@ static void object_header_little_to_big_endian(struct yaffs_obj_hdr* oh)
     oh->sum_no_longer_used = SWAP16(oh->sum_no_longer_used); // u16 - Not used, but done for completeness.
     // name = skip. Char array. Not swapped.
     oh->yst_mode = SWAP32(oh->yst_mode);
-#ifdef CONFIG_YAFFS_WINCE // WinCE doesn't implement this, but we need to just in case. 
-    // In fact, WinCE would be *THE* place where this would be an issue!
-    oh->not_for_wince[0] = SWAP32(oh->not_for_wince[0]);
-    oh->not_for_wince[1] = SWAP32(oh->not_for_wince[1]);
-    oh->not_for_wince[2] = SWAP32(oh->not_for_wince[2]);
-    oh->not_for_wince[3] = SWAP32(oh->not_for_wince[3]);
-    oh->not_for_wince[4] = SWAP32(oh->not_for_wince[4]);
-#else
+
     // Regular POSIX.
     oh->yst_uid = SWAP32(oh->yst_uid);
     oh->yst_gid = SWAP32(oh->yst_gid);
     oh->yst_atime = SWAP32(oh->yst_atime);
     oh->yst_mtime = SWAP32(oh->yst_mtime);
     oh->yst_ctime = SWAP32(oh->yst_ctime);
-#endif
 
     oh->file_size = SWAP32(oh->file_size); // Aiee. An int... signed, at that!
     oh->equiv_id = SWAP32(oh->equiv_id);
     // alias  - char array.
     oh->yst_rdev = SWAP32(oh->yst_rdev);
 
-#ifdef CONFIG_YAFFS_WINCE
     oh->win_ctime[0] = SWAP32(oh->win_ctime[0]);
     oh->win_ctime[1] = SWAP32(oh->win_ctime[1]);
     oh->win_atime[0] = SWAP32(oh->win_atime[0]);
     oh->win_atime[1] = SWAP32(oh->win_atime[1]);
     oh->win_mtime[0] = SWAP32(oh->win_mtime[0]);
     oh->win_mtime[1] = SWAP32(oh->win_mtime[1]);
-    oh->room_to_grow[0] = SWAP32(oh->room_to_grow[0]);
-    oh->room_to_grow[1] = SWAP32(oh->room_to_grow[1]);
-    oh->room_to_grow[2] = SWAP32(oh->room_to_grow[2]);
-    oh->room_to_grow[3] = SWAP32(oh->room_to_grow[3]);
-    oh->room_to_grow[4] = SWAP32(oh->room_to_grow[4]);
-    oh->room_to_grow[5] = SWAP32(oh->room_to_grow[5]);
-#else
-    oh->room_to_grow[0] = SWAP32(oh->room_to_grow[0]);
-    oh->room_to_grow[1] = SWAP32(oh->room_to_grow[1]);
-    oh->room_to_grow[2] = SWAP32(oh->room_to_grow[2]);
-    oh->room_to_grow[3] = SWAP32(oh->room_to_grow[3]);
-    oh->room_to_grow[4] = SWAP32(oh->room_to_grow[4]);
-    oh->room_to_grow[5] = SWAP32(oh->room_to_grow[5]);
-    oh->room_to_grow[6] = SWAP32(oh->room_to_grow[6]);
-    oh->room_to_grow[7] = SWAP32(oh->room_to_grow[7]);
-    oh->room_to_grow[8] = SWAP32(oh->room_to_grow[8]);
-    oh->room_to_grow[9] = SWAP32(oh->room_to_grow[9]);
-    oh->room_to_grow[10] = SWAP32(oh->room_to_grow[10]);
-    oh->room_to_grow[11] = SWAP32(oh->room_to_grow[11]);
-#endif
+
+    oh->reserved[0] = SWAP32(oh->reserved[0]);
+    oh->reserved[1] = SWAP32(oh->reserved[1]);
+
+    oh->inband_shadowed_obj_id = SWAP32(oh->inband_shadowed_obj_id);
+    oh->inband_is_shrink = SWAP32(oh->inband_is_shrink);
+    oh->shadows_obj = SWAP32(oh->shadows_obj);
+    oh->is_shrink = SWAP32(oh->is_shrink);
 }
 
 static int write_object_header(int obj_id, enum yaffs_obj_type t, struct stat *s, int parent, const char *name, int equivalentObj, const char * alias)