Bug 43077

Summary: BAD! can't build loadable smp kernel modules
Product: [Retired] Red Hat Linux Reporter: harry.heinisch
Component: kernelAssignee: Phil Copeland <copeland>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-05-31 16:37:27 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 harry.heinisch 2001-05-31 15:55:16 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; compaq)

Description of problem:
The installed kernel sources set up modules to expect modversion symbols 
of the form sym_Rsmp_VER. The smp kernel binary provides symbols of the 
form sym_RVER (confirmed through /proc/ksyms)

How reproducible:
Always

Steps to Reproduce:
1. Try to build a module against the smp kernel (ex. drm modules from 
current XFree86 CVS tree
2. Try to insmod the module
3. Find the missing symbols in /proc/ksyms
	

Actual Results:  insmod failed expecting sym_Rsmp_VER form of symbols 
/proc/ksyms showed sym_RVER form of symbols.

Expected Results:  module should have inserted

Additional info:

This appears be caused by the linux-2.4.2-vm-1-2-3-gbyte.patch (patch 76 
in the 2.4.3-7.src.rpm) which changes
ifdef CONFIG_SMP
    genksyms_smp_prefix := -p smp_
else
    genksyms_smp_prefix :=
endif

to:

ifdef CONFIG_1GB
ifdef CONFIG_SMP
    genksyms_smp_prefix := -p smp_
else
    genksyms_smp_prefix :=
endif
endif

ifdef CONFIG_2GB
ifdef CONFIG_SMP
    genksyms_smp_prefix := -p smp_
else
    genksyms_smp_prefix :=
endif
endif

ifdef CONFIG_3GB
ifdef CONFIG_SMP
    genksyms_smp_prefix := -p smp_
else
    genksyms_smp_prefix :=
endif
endif


leaving genksyms_smp_prefix unset if none of CONFIG_1GB, CONFIG_2GB, 
CONFIG_3GB is set. None of these will be set on an Alpha.

Comment 1 Bill Nottingham 2001-05-31 16:37:23 UTC
This has been reported for ia64 as well.

Comment 2 Michael K. Johnson 2001-05-31 19:14:04 UTC
Fixed in our current source tree, will be fixed in the next rawhide
kernel.