Bug 62575 - rhconfig.h needs __module__bigmem added
Summary: rhconfig.h needs __module__bigmem added
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.3
Hardware: i386
OS: Linux
high
high
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-04-02 17:35 UTC by Matt Domsch
Modified: 2005-10-31 22:00 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2002-04-09 12:32:24 UTC
Embargoed:


Attachments (Terms of Use)

Description Matt Domsch 2002-04-02 17:35:45 UTC
Description of Problem:
Kernel 2.4.18-0.12 and earlier  linux/include/rhconfig.h never define 
__module__bigmem, as it does __module__enterprise and others.  This causes 
third party modules to build improperly.

/usr/src/linux-2.4/include/linux/rhconfig.h

Add the following lines, otherwise the compiling will pick up the wrong
symbols for the BIGMEM kernel.

#if defined(__BOOT_KERNEL_BIGMEM) && ( __BOOT_KERNEL_BIGMEM ==1)
#define __module__bigmem
#endif

Note: The reason that you need to define the "__module__bigmem" is that
the "/usr/src/linux-2.4/include/linux/modules/ksyms.ver" is checking the 
flag "__module__bigmem" for the kernel. 
Search for the string "register_chrdev" and you will find the following lines:

#if defined(__module__bigmem)
#define __ver__register_chrdev _ver_str(515ed577)
#define register_chrdev _set_ver(register_chrdev)

If you don't have the __module__bigmem defined for the BIGMEM kernel, then
the compiling will pick the wrong symbols and the driver won't load.



Version-Release number of selected component (if applicable):
2.4.18-0.12 and earlier

This is considered a MUST-FIX for Hampton by Dell.

Comment 1 Arjan van de Ven 2002-04-02 17:42:16 UTC
This is fixed; I thought it was fixed in 0.12 already
(but you need a recent initscripts to go with it though)

/me wonders idly if we missed to include a useful module

Comment 2 Matt Domsch 2002-04-02 18:02:58 UTC
I installed kernel-source-2.4.18-0.12 just to make sure - rhconfig.h has no 
references to bigmem at all.  I also installed initscripts-6.60-1, which Bill 
says is doing the right thing by *not* definig __module__smp.  rhconfig.h 
should add
 || defined(__module__bigmem)
to its list for determining whether or not to add the smp_ decoration to 
_ver_str(), and should define __module__bigmem in the i686 section above.


Comment 3 Arjan van de Ven 2002-04-09 12:32:19 UTC
0.13 and later have it for sure


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