<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Castor Fu wrote:
<blockquote TYPE=CITE> 
<div dir="ltr"><span class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>Hi
Dave!</font></font></font></span></div>

<div dir="ltr"><span class=547185322-27122006></span></div>

<div dir="ltr"><span class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>Sorry
about the regression.</font></font></font></span></div>

<div dir="ltr"><span class=547185322-27122006></span></div>

<div dir="ltr"><span class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>I
looked further through the code, and have modified it to only add the symbols</font></font></font></span></div>

<div dir="ltr"><span class=547185322-27122006></span><span 
class=547185322-27122006></span><font face="Arial"><font color="#0000FF"><font size=-1>f<span class=547185322-27122006>or
which it has actually identified a matching section, and to do it in a
way</font></font></font></span></div>

<div dir="ltr"><span 
class=547185322-27122006></span><span 
class=547185322-27122006></span><font face="Arial"><font color="#0000FF"><font size=-1>w<span class=547185322-27122006>hich
supports whatever sections are defined.</font></font></font></span></div>
<span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>This
doesn't explain why a match isn't being found in the ia64 case, but should</font></font></font></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>at
least avoid the regression in the s390x case.</font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>I've
also attached a test which one could run which dumps output which might</font></font></font></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>help
me fix things by tracing through loading the 'md5' module. </font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>By
default the new code is off, as requested, and can be forced with</font></font></font></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>a
'-l' option to 'mod', e.g.</font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>crash>
mod -l -s md5</font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>Thanks
again for the testing, and hopefully this will work for most people.</font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>It
would be great if someone could send me output from the rarer</font></font></font></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>platforms
like ppc64 or 390 if it doesn't work.</font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>Happy
New Year!</font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006><font face="Arial"><font color="#0000FF"><font size=-1>   
-castor</font></font></font></span><span 
class=547185322-27122006></span><span 
class=547185322-27122006></span></blockquote>

<p><br><tt>Somebody forgot to QA this patch...    ;-)</tt><tt></tt>
<p><tt>Unfortunately, "mod -l -s module-name" won't work, nor will</tt>
<br><tt>"mod -l -S", because of the unique way that cmd_mod() handles</tt>
<br><tt>-s and -S -- which can optionally take additional "objfile" or
"directory"</tt>
<br><tt>arguments respectively:</tt><tt></tt>
<p><tt>crash> mod -l -S</tt>
<br><tt>mod: -S is not a directory</tt>
<br><tt>Usage: mod [ -s module [objfile] | -d module | -S [directory] |
-D | -r ]</tt>
<br><tt>Enter "help mod" for details.</tt>
<br><tt>crash> mod -l -s nfs</tt>
<br><tt>mod: /usr/lib/debug/lib/modules/2.4.21-37.ELsmp/kernel/fs/nfs:
not an ELF format object file</tt>
<br><tt>Usage: mod [ -s module [objfile] | -d module | -S [directory] |
-D | -r ]</tt>
<br><tt>Enter "help mod" for details.</tt>
<br><tt>crash></tt><tt></tt>
<p><tt>So to get around that, you can just enter "mod -l" alone</tt>
<br><tt>prior to any -s or -S commands, which will just set the</tt>
<br><tt>flag.</tt><tt></tt>
<p><tt>But having done that, it actually does just the opposite,</tt>
<br><tt>because of backwards logic here:</tt><tt></tt>
<p><tt>@@ -7288,7 +7410,10 @@</tt>
<br><tt>                       
strcpy(lm->mod_namelist, namelist);</tt>
<br><tt>               
else</tt>
<br><tt>                       
strncpy(lm->mod_namelist, namelist, MAX_MOD_NAMELIST-1);</tt>
<br><tt>-              
goto add_symbols;</tt>
<br><tt>+               
if (USE_V2_MOD_SYM()) {</tt>
<br><tt>+                       
goto add_symbols;</tt>
<br><tt>+               
}</tt>
<br><tt>+</tt>
<br><tt>        }</tt><tt></tt>
<p><tt>        if ((mbfd = bfd_openr(namelist,
NULL)) == NULL)</tt><tt></tt>
<p><tt>It should be: "if (!USE_V2_MOD_SYM())".</tt><tt></tt>
<p><tt>Anyway, don't bother updating the patch for the above,</tt>
<br><tt>because I can keep testing with the two work-arounds.</tt><tt></tt>
<p><tt>I'd also appreciate any ppc64, s390 and s390x testers</tt>
<br><tt>out there...</tt><tt></tt>
<p><tt>Thanks,</tt>
<br><tt>  Dave</tt>
<br> </html>