[openib-general] Re: mstflint failing on sparc64

Michael S. Tsirkin mst at mellanox.co.il
Tue Jan 11 10:11:15 PST 2005


Hello!
Quoting r. Tom Duffy (tduffy at sun.com) "Re: [openib-general] Re: mstflint failing on sparc64":
> On Tue, 2005-01-11 at 12:37 +0200, Michael S. Tsirkin wrote:
> > I am guessing that the last test you sent me was on a 32 bit
> > platform though?
> 
> No, userspace is 32bit on sparc64, but kernel is 64 bit.
> 
> tat:~# file mstflint
> mstflint: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), for
> GNU/Linux 2.2.0, dynamically linked (uses shared libs), not stripped
> tat:~# uname -a
> Linux tat 2.6.10openib #14 SMP Mon Jan 3 12:30:51 PST 2005 sparc64
> GNU/Linux
> 
> > I think I've got it.
> > Could you please update to 1506 or later and try again (with strace),
> > if possible on sparc64 first?

Here's a patch that adds some debug printouts.
Cold you run with this applied, please, mayba I'll se what is wrong?


Index: mtcr.h
===================================================================
--- mtcr.h	(revision 1506)
+++ mtcr.h	(working copy)
@@ -236,6 +236,8 @@
   else
     goto error;
 
+  fprintf(stderr,"found line :\"%s\"\n", buf);
+
   if (cnt != 17 || size[1] != 0 || size[0] != 0x100000)
   {
         fprintf(stderr,"proc: unexpected region size values: "
@@ -252,10 +254,13 @@
         goto error;
   }
 
+  fprintf(stderr,"base_addr[0]=%#llx, base_addr[1]=%#llx\n",
+		  base_addr[0], base_addr[1]);
 
   offset=((unsigned long long)(base_addr[1])<<32)+
     ((unsigned long long)(base_addr[0])&~(unsigned long long)(0xfffff));
 
+  fprintf(stderr,"mfind offset=%#llx\n", offset);
   *offset_p=offset;
 
   fclose(f);
@@ -302,6 +307,8 @@
 
     if (mfind(name,&offset)) goto map_failed;
 
+    fprintf(stderr,"mmap offset=%#llx\n", offset);
+
     mf->ptr = mmap(NULL, 0x100000, PROT_READ | PROT_WRITE,
         MAP_SHARED, mf->fd, offset);
 



More information about the general mailing list