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
\__ \__ \__
\__ \__ \__
This archive was generated by hypermail 2b29 : Tue Sep 25 2001 - 13:48:20 PDT