Description of problem: The kernel cannot be built if "High Memory Support" is disabled. If the option is changed from the default 4GB to "off" the file arch/i386/mm/pageattr.c fails to compile. Version-Release number of selected component (if applicable): kernel-2.6.9-34.EL.i686 How reproducible: Every time. Steps to Reproduce: 1. Extract kernel source files from kernel SRPM as usual. 2. Rebuild kernel using the config-2.6.9-34.EL installed by the i686 RPM. Build succeeds 3. Change "High Memory Support" (I used "make menuconfig") to "off". Attempt to rebuild kernel fails. Actual results: arch/i386/mm/pageattr.c: In function `revert_page': arch/i386/mm/pageattr.c:100: error: `_etext' undeclared (first use in this function) arch/i386/mm/pageattr.c:100: error: (Each undeclared identifier is reported only once arch/i386/mm/pageattr.c:100: error: for each function it appears in.) arch/i386/mm/pageattr.c:104: warning: ISO C90 forbids mixed declarations and code arch/i386/mm/pageattr.c: In function `__change_page_attr': arch/i386/mm/pageattr.c:135: error: `_etext' undeclared (first use in this function) make[1]: *** [arch/i386/mm/pageattr.o] Error 1 Expected results: There should be no compilation errors. Additional info: Yes, yes, yes, I know Red Hat doesn't support custom configurations. Nevertheless, I think you will want to know that you are unconditionally using variables that only exist in specific configurations. The low-memory machine I intend to run this kernel on cannot support more the 256MB of RAM. It is inefficient to enable High Memory Support on a machine that will never be able to use those high-memory page tables.
strange. _etext is not related to highmem...this patch is also in the upstream kernel...i'll see if i can figure this out, but its not a high priority for us...thanks.
Problem still exists in kernel-2.6.9-42.0.2.EL. Look, I'll make it easy for you: diff -Nu arch/i386/mm/pageattr.c.orig arch/i386/mm/pageattr.c --- arch/i386/mm/pageattr.c.orig 2006-08-24 06:38:52.000000000 -0400 +++ arch/i386/mm/pageattr.c 2006-08-24 11:00:48.000000000 -0400 @@ -12,6 +12,7 @@ #include <asm/uaccess.h> #include <asm/processor.h> #include <asm/tlbflush.h> +#include <asm/sections.h> static spinlock_t cpa_lock = SPIN_LOCK_UNLOCKED; static struct list_head df_list = LIST_HEAD_INIT(df_list);
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
Committed in 68.21.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2008-0665.html