Bug 130017

Summary: Bug in x86_64 2.4.21-15.0.4.EL kernel source.
Product: Red Hat Enterprise Linux 3 Reporter: nate huffnagle <soulsurf>
Component: kernelAssignee: Brian Maly <bmaly>
Status: CLOSED WONTFIX QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: 3.0CC: equus, mherbert, petrides, riel
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-04-19 20:00:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description nate huffnagle 2004-08-16 16:27:01 UTC
System:                 AMD Opteron x86_64
Hardware:               Tyan Thunder K8W S2885ANRF Main Board
OS    :                 Redhat EL WS 3.0
                                                                     
                         
                                                                     
                         
Problem:
        The inability of the Linux kernel on the Tyan S2885 main board to
find the AMD-8151 AGP Tunnel.  The AMD-8151 AGP controller is not at the
normal PCI address, and the Linux kernel had to be modified to account for
the change. Two patches (from Tyan) fix the problem for most kernels and
for the Red Hat kernel.
                                                                     
                         
make bzImage fails! Restored original source code without Tyan patch did
a make oldconfig and make dep. Make bzImage still fails:
                                                                     
                         
gcc -D__KERNEL__ -I/usr/src/linux-2.4.21-15.0.4.EL/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-Wno-unused -fomit-frame-pointer -mno-red-zone -mcmodel=kernel -pipe
-fno-reorder-blocks -finline-limit=2000 -fno-strength-reduce
-fno-asynchronous-unwind-tables   -nostdinc -iwithprefix include
-DKBUILD_BASENAME=usercopy  -c -o usercopy.o usercopy.c
usercopy.c: In function `__clear_user':
usercopy.c:68: error: invalid punctuation ` ' in constraint
make[2]: *** [usercopy.o] Error 1
make[2]: Leaving directory
`/usr/src/linux-2.4.21-15.0.4.EL/arch/x86_64/lib'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory
`/usr/src/linux-2.4.21-15.0.4.EL/arch/x86_64/lib'
make: *** [_dir_arch/x86_64/lib] Error 2
                                                                     
                         
                                                                     
                         
Searching on line
(http://seclists.org/lists/linux-kernel/2004/Jan/3581.html) found that
there is an error in the source code in usercopy.c
                                                                     
                         
- : [size1] "r"(size & 7), "[size8]" (size / 8), "[dst] "(addr),
+ : [size1] "r"(size & 7), "[size8]" (size / 8), "[dst]"(addr),
                                                                     
                         
The extra space after [dst].
                                                                     
                         
After correcting this error make still fails:
                                                                     
                         
ld -m elf_x86_64 -T
/usr/src/linux-2.4.21-15.0.4.EL/arch/x86_64/vmlinux.lds -e stext
arch/x86_64/kernel/head.o arch/x86_64/kernel/head64.o
arch/x86_64/kernel/init_task.o init/main.o init/version.o
init/do_mounts.o --start-group arch/x86_64/kernel/kernel.o
kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o arch/x86_64/mm/mm.o
arch/x86_64/ia32/ia32.o drivers/acpi/acpi.o drivers/char/char.o
drivers/block/block.o drivers/misc/misc.o drivers/net/net.o
drivers/char/agp/agp.o drivers/char/drm/drm.o drivers/net/fc/fc.o
drivers/net/appletalk/appletalk.o drivers/net/tokenring/tr.o
drivers/net/wan/wan.o drivers/atm/atm.o drivers/ide/idedriver.o
drivers/cdrom/driver.o drivers/audit/audit-stubs.o
drivers/pci/driver.o drivers/net/wireless/wireless_net.o
drivers/viddrivers/isdn/vmlinux-obj.o crypto/crypto.o net/network.o
/usr/src/linux-2.4.21-15.0.4.EL/arch/x86_64/lib/lib.a
/usr/src/linux-2.4.21-15.0.4.EL/lib/lib.a --end-group -o
.tmp_vmlinux1
arch/x86_64/ia32/ia32.o(.text+0x7ef0): In function `ioctl_dummy':
: undefined reference to `tiocgdev'
....
                                                                     
                         
....
arch/x86_64/ia32/ia32.o(.text+0x8e80): In function `ioctl_dummy':
: undefined reference to `mtrr_ioctl32'
arch/x86_64/ia32/ia32.o(.text+0x8e98): In function `ioctl_dummy':
: undefined reference to `mtrr_ioctl32'
arch/x86_64/ia32/ia32.o(.text+0x8eb0): more undefined references to
`mtrr_ioctl32' follow
make[1]: *** [kallsyms] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.21-15.0.4.EL'
make: *** [vmlinux] Error 2
                                                                     
                         
Is there a patch available for the x86_64 source code or a fixed kernel
that will work with the Tyan board?eo/video.o drivers/media/media.o
drivers/md/mddev.o

Comment 1 Jim Paradis 2004-08-31 15:16:26 UTC
Note that Red Hat does not support customer-built kernels.

The RHEL3 kernel is built on RHEL3 using the gcc 3.2 toolchain.  Later
versions of gcc may have problems with some of the syntax used in the
RHEL3 kernel sources.  Are you attempting to build this kernel on a
system that uses gcc 3.3 or 3.4?  If so, and if you have gcc32
installed, you can force it to be used by saying:

     "make CC=gcc32 HOSTCC=gcc32"

If you are having difficulty with the Tyan 2885, you should submit a
separate bug report for it.  First, I suggest that you try the RHEL3
Update 3 kernel which should become generally available on RHN later
this week (i.e. first week of September 2004).  A fix for Tyan 2885
AGP is included in that update and it may address your problem.



Comment 2 Chris Wilkinson 2004-10-01 22:50:53 UTC
This is a fine response, unless the whole reason we are trying to
build a custom kernel is to to help you folks (the dedicated redhat
engineers) debug a problem. For example, I need to compile in some
test patches, so it is inconvenient that I can't get the stock kernel
source, with the proper unmodified config files, to compile when I've
not even changed anything.

Comment 3 Malcolm 2005-06-28 16:17:33 UTC
It seems that I get a similar problem when looking to compile a custom U4
2.4.21-27EL-smp kernel (with the mmap-invalidate patch for GPFS) on an IBM x326,
MSI MS-9145v3 board, Opteron 248

Got round the usercopy.c going by back to gcc323 from gcc34 (customer
requirement), as mentioned above. 

: undefined reference to `plat_node_data'
net/network.o(.text.init+0xe4f): In function `ip_rt_init':
: undefined reference to `xfrm_init'
net/network.o(.text.init+0xe55): In function `ip_rt_init':
: undefined reference to `xfrm4_init'
net/network.o(.text.init+0x1a08): In function `xfrm_user_init':
: undefined reference to `xfrm_register_km'
net/network.o(__ksymtab+0xaf0): undefined reference to `skb_cow_data'
net/network.o(__ksymtab+0xb00): undefined reference to `pskb_put'
net/network.o(__ksymtab+0xb10): undefined reference to `skb_to_sgvec'
make[1]: *** [kallsyms] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.21-27.EL'
make: *** [vmlinux] Error 2
[root@h1schd001 linux-2.4]#

still looking at this


Comment 4 Red Hat Bugzilla 2007-03-18 22:23:53 UTC
User jparadis's account has been closed

Comment 5 Brian Maly 2007-04-19 19:59:33 UTC
The AGP not being detected issue was resolved in RHEL3 several releases back.
Suggest updating to the newest release.