Re: Performer and Purify

New Message Reply Date view Thread view Subject view Author view

From: Yair Kurzion (yair++at++polygon.engr.sgi.com)
Date: 09/25/2001 13:48:17


Hello Andreas !

> No, I still get the same error:
> Purify/PureCoverage-rtlib: Error: Un-instrumented object file
> </home/andek/Performer/src/sample/C/perfly/pureamalloc.so> detected.
>
> I run this on an Octane2 2xR12000 with:
> IRIX 6.5.11f
> Purify 5.3
>
> Sounds like the Purify version is the problem, doesn't it? Or do you
> have any other idea? Is it possible for you to try the newer Purify
> version?

I don't have access/license to the new version.

Maybe you could try inserting the code from pureamalloc.c into your application
code ?

I added the following lines to pguide/libpf/C/simple.c (the fprintf verifies
that the functions are called.):

   #include <stdlib.h>
   void *amalloc(int n) {fprintf (stderr, "## amalloc ##\n"); return malloc(n);}
   void afree(void*p) {free(p);}
   void *arealloc(void*p, int n) {return realloc(p, n);}

Running single-process, my lines above replaced the shared arena calls inside
libpf with heap-allocation calls. Now you should be able to run purify on the
code.

I hope your version of purify works with this.

-yair

>
> Regards,
> Andreas Ekstrand
>
>
> Yair Kurzion wrote:
> >
> > Hello Andreas !
> >
> > > I tried your method, but I still get the same error message:
> > >
> > > Purify/PureCoverage-rtlib: Error: Un-instrumented object file
> > > </home/andek/source/purifytest/pureamalloc.so> detected.
> > >
> > > So, it still looks as if Purify complains about not knowing anything
> > > about pureamalloc. It hasn't been instrumented by Purify.
> > >
> > > It would be nice if you could show every step in your method, from
> > > compiling your performer app to making the pureamalloc and running
> > > purify on your app.
> >
> > Here is the complete sequence of commands:
> >
> > % cd perfly
> > % make
> >
> > ... Add loader reference on the link line (e.g. -lpfflt). Otherwise,
> > ... you won't be able to load any models.
> >
> > % cat > pureamalloc.c
> > #include <stdlib.h>
> > void *amalloc(int n) {return malloc(n);}
> > void afree(void*p) {free(p);}
> > void *arealloc(void*p, int n) {return realloc(p, n);}
> > ^D
> > % cc -c pureamalloc.c
> > % ld pureamalloc.o -shared -o pureamalloc.so
> > % setenv _RLDN32_LIST `pwd`/pureamalloc.so:DEFAULT
> > % purify perfly
> > % perfly.pure -m0 -W500 esprit.flt
> >
> > I just ran this on an 4xR10000 RE2, with:
> > IRIX 6.5.12m
> > Purify 4.1 IRIX6
> >
> > Does this work for you ?
> >
> > -yair
> >
> > --
> > \_________ \_____ \__ \__ \_____ Yair Kurzion
> > \_________ \_____ \__ \__ \_____ yair++at++sgi.com
> > \__ \__ \____\__ \__ http://reality.sgi.com/yair
> > \__ \__ \__ Work: (650) 933-6502
> > \__ \__ \__ Home: (408) 226-9771
> > \__ \__ \__
> > -----------------------------------------------------------------------
> > List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> > Open Development Project: http://oss.sgi.com/projects/performer/
> > Submissions: info-performer++at++sgi.com
> > Admin. requests: info-performer-request++at++sgi.com
> > -----------------------------------------------------------------------
>
> --
> ---------------------------------------------------------
> FDM-AE Andreas Ekstrand |E-mail: Andreas.Ekstrand++at++saab.se
> Saab AB |Phone: +46 (0)13 - 18 40 42
> SE-581 88 Linkoping |Fax: +46 (0)13 - 18 41 77
> SWEDEN |
> ---------------------------------------------------------
>

-- 
\_________  \_____  \__    \__  \_____        
\_________  \_____   \__   \__  \_____         Yair Kurzion
       \__     \__   \____\__      \__         yair++at++sgi.com
       \__          \__  \__                  (650) 933-6502
       \__          \__   \__          
       \__          \__    \__             


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue Sep 25 2001 - 13:48:20 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.