From: John M. Choi (johnchoi_at_its_dot_caltech_dot_edu)
Date: Tue May 16 2006 - 14:37:25 PDT
So I've traced the problem, which is I guess not really a problem. The function 'rw_verify_area' is *not* exported (I'm guessing by the absence of EXPORT_SYMBOL in the kernel source?) so everything is actually working correctly. It looks like you (the developers) get around this by looking it up in System.map using CR_FIND_KSYM. However, I can't figure out (yet) what 'type' is in CR_FIND_KSYM([kernel function],[type]), type = {DATA,CODE}, and what purpose blcr_imports/imports.c has. Would someone please help with what I should do to get this to work? I know I need to add CR_FIND_KSYM([rw_verify_area],[type]) to configure.ac, but I don't know what 'type' to use, and what to do to blcr_imports/imports.c. (Or if there's anything else I need to do.) Any help would be much appreciated... John _____________________________________________ John Choi, Caltech 136-93, Pasadena, CA 91125 Tel: 626-395-4829 Fax: 626-405-0928 On Tue, 16 May 2006, John M. Choi wrote: > Hi, > I'm trying to install blcr-0.4.2 against linux-2.4.32. However, blcr uses > locks_verify_area in 2 files: > > cr_module/cr_io.c > vmadump/vmadump.c > > The first time I tried to install this, the module blcr_vmadump complained of > unresolved symbol locks_verify_area. I believe that the function no longer > exists in linux version > 2.4.29 except in arch/mips from looking at > patch-2.4.30 from kernel.org. The new function seems to be rw_verify_area. > So, I copied the function calls in > > linux-2.4.32/fs/read_write.c:sys_read/sys_write > (as per the comments in cr_io.c) > > and changed the references in blcr. I then recompiled, but now the vmadump > module complains: > unresolved symbol rw_verify_area. > > So, just to make sure, I recompiled the kernel, and made sure that > System.map and bzImage was self-consistent, copied the freshly compiled > versions to /boot, re-ran lilo and rebooted. I then 'make distclean', and > re-configure and re-make blcr, but I still get the unresolved symbol > error. > > If I do 'grep rw_verify_area /boot/System.map', I get > c014d5f0 T rw_verify_area > but if I look in /proc/ksyms, the symbol does not exist. However, this > symbol does exist in linux-2.4.32/vmlinux, which is used to create > bzImage. (I'm confused about what's going on here.) > > I realize, that most of the people reading this are probably much more > familiar with kernel internals than I (I'm basically guessing here), but > I've tried to err on the side of verbosity in what I've tried for > clarity's sake. > > Would anyone please be willing to offer any hints? It would be much > appreciated. > > Thanks, > John > > _____________________________________________ > John Choi, Caltech 136-93, Pasadena, CA 91125 > Tel: 626-395-4829 Fax: 626-405-0928 >