From Bugzilla Helper: User-Agent: Mozilla/4.77 [de] (X11; U; Linux 2.4.2-2 i686) Description of problem: Rebuild of custom kernel from RH.7.1 kernel source rpm fails with "arch/i386/kernel/kernel.o: In function `pci_fixup_vt8363': arch/i386/kernel/kernel.o(.text.init+0x3727): undefined reference to `noautodma'." Comes up always with gcc and kgcc too. How reproducible: Always Steps to Reproduce: 1. cd /usr/src/linux-2.4.2 2. make xconfig 3. make dep 4. make clean 5. make bzImage fails always in all cases. Actual Results: make bzImage stops with error. No bzImage is compiled. Expected Results: A clean compile for custom kernels. Additional info: arch/i386/kernel/kernel.o: In function `pci_fixup_vt8363': arch/i386/kernel/kernel.o(.text.init+0x3727): undefined reference to `noautodma'. I think - this code should fix the hardware-bug in vt8363 chips, but the source is broken with an simple small error inside.
Indeed. If you don't compile IDE in your kernel, you can just remove the contents of the offending funtion (eg the reference to the noautodma) to make it work. This is perfectly safe as for a non-IDE system you don't need the workaround. I've corrected this error for the next kernel we're going to release, I will therefore close it as "fixed in rawhide". Thanks for the report!
Our server is pure SCSI. I have found the function `pci_fixup_vt8363' in /usr/scr/linux-2.4.2/arch/i368/kernel/pci-pc.c But I'm not firm in C... Should I remove there line 957: extern int noautodma; and the following subroutine too... static void __init pci_fixup_vt8363(struct pci_dev *d) { ...for clean custom kernel recompiling without ATAPI/IDE? regards Matthias
Not exactly. The "extern" line is fine. Removing the function entirely will not work, you should remove everything inside the { } (but not including the { and the }) of that function.
o.k. so I have leaved the 'extern int...' call, maked an empty and useless function static void __init pci_fixup_vt8363(struct pci_dev *d) { } Compiles right now. Thanks.