Re: crc32 cleanups

From: Jeff Garzik (
Date: Fri Oct 12 2001 - 15:07:14 EST

On Fri, 12 Oct 2001, Horst von Brand wrote:
> Matt Domsch <> said:
> > In trying to get my EFI GUID Partition Table patch included into the stock
> > kernel, Andreas Dilger suggested it was time for some crc32 cleanup, as
> > the GPT patch added yet another copy of the common crc32 function. So,
> > here's my first pass at it. Comments welcome.
> [...]
> > This patch (appended below), makes include/linux/crc32.h and
> > lib/crc32.c. It generates a table based on the commonly used polynomial
> > at init time provided a driver needs it. It changes ether_crc_le() to use
> > this table. It renames the commonly seen ether_crc() to be
> > ether_crc_be(), and puts it in crc32.h (allowing lots of copies to be
> > deleted).
> You could just place the functions (each with its table) into separate .c
> files, and place them in the library. The linker will then include them iff
> they are referenced somewhere. OTOH, they _are_ all over the place right
> now, so they could just be included unconditionally. Thinking of ways to
> set up to have them included in case only modules use them makes me
> shiver...

Then leave that task to others ;-)

We must consider the case where the kernel is built, and then a random
3rd party module comes along that needs crc32 features. An ar library
won't cut it, and neither will [the existing crc32 method of] patching
linux/lib/crc32.c. That leaves (a) unconditionally building it into the
kernel, or (b) Makefile and rules.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:46 EST