Bug 40123 - Rebuild of custom kernel fails with 'undefined reference'
Summary: Rebuild of custom kernel fails with 'undefined reference'
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.1
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brock Organ
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-05-10 19:09 UTC by Matthias Haase
Modified: 2007-04-18 16:33 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2001-05-10 19:09:32 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2001:084 0 normal SHIPPED_LIVE Kernel: Kernel: 2001-06-21 04:00:00 UTC

Description Matthias Haase 2001-05-10 19:09:26 UTC
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.

Comment 1 Arjan van de Ven 2001-05-10 19:23:42 UTC
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!

Comment 2 Matthias Haase 2001-05-11 11:56:54 UTC
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



Comment 3 Arjan van de Ven 2001-05-11 12:10:56 UTC
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.

Comment 4 Matthias Haase 2001-05-11 13:04:37 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.