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