cvs commit: src/sys/vfs/hammer hammer.h hammer_btree.c hammer_cursor.h h ammer_disk.h hammer_inode.c hammer_ioctl.h hammer_mirror.c hammer_object.c h ammer_subs.c hammer_vnops.c

Thomas Nikolajsen thomas.nikolajsen at mail.dk
Thu Jul 10 10:29:45 PDT 2008


buildkernel fails after this commit:
. .
linking kernel.debug
hammer_mirror.o: In function `hammer_ioc_mirror_read':
/usr/src/sys/vfs/hammer/hammer_mirror.c:259: undefined reference to `crc32_ext'

Seems like you forgot to commit file with crc32_ext();
I guess you have something like patch below.

 -thomas
-
Index: libkern/crc32.c
===================================================================
RCS file: /home/dcvs/src/sys/libkern/crc32.c,v
retrieving revision 1.4
diff -u -p -r1.4 crc32.c
--- libkern/crc32.c     5 Feb 2008 20:50:31 -0000       1.4
+++ libkern/crc32.c     10 Jul 2008 16:54:40 -0000
@@ -56,6 +56,7 @@
 #endif
 
 uint32_t crc32(const void *buf, size_t size);
+uint32_t crc32_ext(const void *buf, size_t size, uint32_t crc);
 
 uint32_t crc32_tab[] = {
        0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
@@ -118,3 +119,16 @@ crc32(const void *buf, size_t size)
        return crc ^ ~0U;
 }
 
+uint32_t
+crc32_ext(const void *buf, size_t size, uint32_t crc)
+{
+       const uint8_t *p;
+
+       p = buf;
+       crc = crc ^ ~0U;
+
+       while (size--)
+               crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8);
+
+       return crc ^ ~0U;
+}
Index: sys/systm.h
===================================================================
RCS file: /home/dcvs/src/sys/sys/systm.h,v
retrieving revision 1.78
diff -u -p -r1.78 systm.h
--- sys/systm.h 5 Mar 2008 12:44:42 -0000       1.78
+++ sys/systm.h 10 Jul 2008 17:20:41 -0000
@@ -165,6 +165,7 @@ int is_physical_memory (vm_offset_t addr
 
 extern uint32_t crc32_tab[];
 uint32_t crc32(const void *buf, size_t size);
+uint32_t crc32_ext(const void *buf, size_t size, uint32_t crc);
 void   init_param1 (void);
 void   init_param2 (int physpages);
 void   tablefull (const char *);





More information about the Commits mailing list