2002-10-17 06:20:34

by SL Baur

[permalink] [raw]
Subject: Problems in the sk98lin driver (2.5.43)

I get the following when I attempt to build it as a module (gcc-3.0.4):

make -f arch/i386/lib/Makefile modules_install
if [ -r System.map ]; then /sbin/depmod -ae -F System.map -b /var/tmp/kernel-2.5.43-root -r 2.5.43-1sb; fi
depmod: *** Unresolved symbols in /var/tmp/kernel-2.5.43-root/lib/modules/2.5.43-1sb/kernel/drivers/net/sk98lin/sk98lin.o
depmod: __udivdi3

This is coming from line 1481 in drivers/net/sk98lin/skgepnmi.c(SkPnmiInit):
pAC->Pnmi.StartUpTime = SK_PNMI_HUNDREDS_SEC(SkOsGetTime(pAC));

SkOsGetTime is defined to return an unsigned 64 bit integer, and
SK_PNMI_HUNDREDS_SEC is a macro which does (arg * 100) / 1000. The
1000 is coming from HZ and this macro does not get defined when HZ is
exactly a 100.

When scanning this file, I found another potential problem. The Vpd()
function consumes 2851 bytes on the stack in auto variables.