Re: 2.6.9-rc1-mm1 - undefined references - [PATCH]

Paolo Ornati
2004-08-26T19:03:18Z

On Thursday 26 August 2004 10:47, you wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc1/2.6.9-rc1-mm1/
>

make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
CHK include/linux/compile.h
CPP arch/i386/kernel/vsyscall.lds.s
SYSCALL arch/i386/kernel/vsyscall-int80.so
SYSCALL arch/i386/kernel/vsyscall-sysenter.so
AS arch/i386/kernel/vsyscall.o
SYSCALL arch/i386/kernel/vsyscall-syms.o
LD arch/i386/kernel/built-in.o
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o(.data+0x40a68): undefined reference to `cfb_fillrect'
drivers/built-in.o(.data+0x40a6c): undefined reference to `cfb_copyarea'
make: *** [.tmp_vmlinux1] Error 1

as shown by the code (drivers/video/tdfxfb.c):

#ifdef CONFIG_FB_3DFX_ACCEL
.fb_fillrect = tdfxfb_fillrect,
.fb_copyarea = tdfxfb_copyarea,
.fb_imageblit = tdfxfb_imageblit,
.fb_cursor = tdfxfb_cursor,
#else
.fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
#endif

3dfx framebuffer driver depends on "cfb_fillrect.c" and "cfb_copyarea.c"
if it's compiled without CONFIG_FB_3DFX_ACCEL turned on...

Signed-off-by: Paolo Ornati <ornati@fastwebnet.it>

--- linux-2.6.9-rc1-mm1/drivers/video/Makefile.orig 2004-08-26 19:24:10.000000000 +0200
+++ linux-2.6.9-rc1-mm1/drivers/video/Makefile 2004-08-26 20:27:55.097186528 +0200
@@ -34,7 +34,11 @@ obj-$(CONFIG_FB_CYBER) += cyb
obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_GBE) += gbefb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_SGIVW) += sgivwfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
-obj-$(CONFIG_FB_3DFX) += tdfxfb.o cfbimgblt.o
+obj-$(CONFIG_FB_3DFX) += tdfxfb.o tdfxfb_lib.o
+tdfxfb_lib-y := cfbimgblt.o
+ifneq ($(CONFIG_FB_3DFX_ACCEL),y)
+tdfxfb_lib-y += cfbfillrect.o cfbcopyarea.o
+endif
obj-$(CONFIG_FB_MAC) += macfb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_HP300) += hpfb.o cfbfillrect.o cfbimgblt.o
obj-$(CONFIG_FB_OF) += offb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o

--
Paolo Ornati
Gentoo Linux (kernel 2.6.8-gentoo-r1)