[uClinux-dev] [PATCH] to get module support compile for armnommu arch in 2.4...

Fabrice Gautier Fabrice_Gautier at sdesigns.com
Thu Nov 15 18:55:24 EST 2001


Hi,

Kernel 2.4 wont compile when module support is emanbled. However it can
compile by applying 
the following patch AND updating (by copying from arch/arm into
arch/armnommu) the following files:

include/asm-armnommu/io.h 
include/asm-armnommu/module.h
arch/armnommu/mm/discontig.c

Those file seems to have been upated in the arm arch between 2.4.6 and
2.4.10, and some changes did not appear in armnommu. I'm not sure if it's
correct to just copy the changes from arm into armnommu.
Especially for the mm/discontig.c file (I guess mm is the part where there
arm amd armnommu differs the most). I added this file to correct a
dependency problem, so maybe the correct way to do is to change the armnommu
Makefile.

However the following patch is NOT taken from the arm arch but rather I
copied what i saw in several other archs (sparc, ia64,s390,...). I don''t
really understand how the others arch define the __start___kallsyms and
__stop___kallsyms symbols, and so i wonder how they compile at all when
module support is on....

Index: arch/armnommu/vmlinux-armo.lds.in
===================================================================
RCS file: /var/cvs/uClinux-2.4.x/arch/armnommu/vmlinux-armo.lds.in,v
retrieving revision 1.1
diff -u -r1.1 vmlinux-armo.lds.in
--- arch/armnommu/vmlinux-armo.lds.in   2001/04/06 15:44:29     1.1
+++ arch/armnommu/vmlinux-armo.lds.in   2001/11/15 23:06:07
@@ -59,6 +59,10 @@
                        *(__ksymtab)
                __stop___ksymtab = .;
 
+               __start___kallsyms = .; /* All kernel symbols           */
+                       *(__kallsyms)
+               __stop___kallsyms = .;
+
                *(.got)                 /* Global offset table          */
 
                _etext = .;             /* End of text section          */
Index: arch/armnommu/vmlinux-armv.lds.in
===================================================================
RCS file: /var/cvs/uClinux-2.4.x/arch/armnommu/vmlinux-armv.lds.in,v
retrieving revision 1.2
diff -u -r1.2 vmlinux-armv.lds.in
--- arch/armnommu/vmlinux-armv.lds.in   2001/07/25 13:52:40     1.2
+++ arch/armnommu/vmlinux-armv.lds.in   2001/11/15 23:06:07
@@ -54,6 +54,10 @@
                        *(__ksymtab)
                __stop___ksymtab = .;
 
+               __start___kallsyms = .; /* All kernel symbols           */
+                       *(__kallsyms)
+               __stop___kallsyms = .;
+
                *(.got)                 /* Global offset table          */
 
                _etext = .;             /* End of text section          */

-- 
Fabrice Gautier
Software Engineer, Sigma Designs
Fabrice_Gautier at sdesigns.com

This message resent by the uclinux-dev at uclinux.org list server http://www.uClinux.org/



More information about the uClinux-dev mailing list