Compile error (starfire ethernet) on 2.5.25 for crc32_le
I get the following compile error if I try to use the starfire driver.
ld -m elf_i386 -T arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/init.o --start-group arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o /home/mbligh/linux-2.5.25/arch/i386/lib/lib.a lib/lib.a /home/mbligh/linux-2.5.25/arch/i386/lib/lib.a drivers/built-in.o sound/sound.o arch/i386/pci/pci.o net/network.o --end-group -o vmlinuxdrivers/built-in.o: In function `set_rx_mode':
drivers/built-in.o(.text+0x2138c): undefined reference to `crc32_le'
make: *** [vmlinux] Error 1
starfire.c calls ether_crc_le which is defined in include/linux/crc32.h as #define ether_crc_le(length, data) crc32_le(~0, data, length)
crc32_le is defined in lib/crc32.c .... which is only compiled if CONFIG_CRC32 is set ... setting this fixes the problem ... shouldn't drivers that need this turn it on automatically somehow?
M.
Quoted 10 lines · Martin J. Bligh
drivers/built-in.o: In function `set_rx_mode':
drivers/built-in.o(.text+0x2138c): undefined reference to `crc32_le'
make: *** [vmlinux] Error 1
starfire.ccallsether_crc_lewhich is defined ininclude/linux/crc32.has #defineether_crc_le(length, data)crc32_le(~0, data, length)
crc32_leis defined inlib/crc32.c.... which is only compiled ifCONFIG_CRC32is set ... setting this fixes the problem ... shouldn't drivers that need this turn it on automatically somehow?
They do already. drivers/net/Makefile.lib. The culprit is a typo. Wanna submit the obvious patch that does s/CONFIG_STARFIRE/CONFIG_ADAPTEC_STARFIRE/ in dr/ne/Makefile.lib?
Jeff
Quoted 7 lines
Quoted 7 lines
drivers/built-in.o: In function `set_rx_mode':
drivers/built-in.o(.text+0x2138c): undefined reference to `crc32_le'
make: *** [vmlinux] Error 1
starfire.ccallsether_crc_lewhich is defined ininclude/linux/crc32.has# define ether_crc_le(length, data) crc32_le(~0, data, length)
Quoted 7 lines
Quoted 3 lines
crc32_leis defined inlib/crc32.c.... which is only compiled ifCONFIG_CRC32is set ... setting this fixes the problem ... shouldn't drivers that need this turn it on automatically somehow?They do already.
drivers/net/Makefile.lib. The culprit is a typo. Wanna submit the obvious patch that does s/CONFIG_STARFIRE/CONFIG_ADAPTEC_STARFIRE/ in dr/ne/Makefile.lib?
Done. Tested. Works. Thankyou!
Could you forward to Linus so it looks blessed?
Thanks,
M.
drivers/net/Makefile.lib +1 -1
@@ -25,7 +25,7 @@ obj-$(CONFIG_PCNET32) += crc32.o obj-$(CONFIG_SIS900) += crc32.o obj-$(CONFIG_SMC9194) += crc32.o -obj-$(CONFIG_STARFIRE) += crc32.o +obj-$(CONFIG_ADAPTEC_STARFIRE) += crc32.o obj-$(CONFIG_SUNBMAC) += crc32.o obj-$(CONFIG_SUNDANCE) += crc32.o obj-$(CONFIG_SUNGEM) += crc32.o