diff -u linux-2.4.20-gentoo-r7/arch/i386/vmlinux.lds.S.orig linux-2.4.20-gentoo-r7/arch/i386/vmlinux.lds.S --- linux-2.4.20-gentoo-r7/arch/i386/vmlinux.lds.S.orig 2003-10-19 18:02:59.000000000 +0200 +++ linux-2.4.20-gentoo-r7/arch/i386/vmlinux.lds.S 2003-10-19 20:31:27.000000000 +0200 @@ -27,6 +27,7 @@ __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + _data = .; .data : { /* Data */ *(.data) CONSTRUCTORS diff -u linux-2.4.20-gentoo-r7/arch/i386/mm/init.c.orig linux-2.4.20-gentoo-r7/arch/i386/mm/init.c --- linux-2.4.20-gentoo-r7/arch/i386/mm/init.c.orig 2003-10-19 18:02:59.000000000 +0200 +++ linux-2.4.20-gentoo-r7/arch/i386/mm/init.c 2003-10-19 20:25:35.000000000 +0200 @@ -97,7 +97,7 @@ /* References to section boundaries */ -extern char _text, _etext, _edata, __bss_start, _end; +extern char _text, _etext, _data, _edata, __bss_start, _end; extern char __init_begin, __init_end; static inline void set_pte_phys (unsigned long vaddr, @@ -485,7 +485,7 @@ reservedpages = free_pages_init(); codesize = (unsigned long) &_etext - (unsigned long) &_text; - datasize = (unsigned long) &_edata - (unsigned long) &_etext; + datasize = (unsigned long) &_edata - (unsigned long) &_data; initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin; printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init, %ldk highmem)\n",