vamsi krishna wrote:
Hello All,

Is there a way I can find the base of the heap without reading the
/proc/maps file?

I linux currently gcc have __attribute(constructor)__ which will make
a function call before libc is initialized and even before main is
called, in such routine I use sbrk(0) to find the base of the brk.

Is there a way I can do this on solaris?

Looking forward to hear from you.


From the end(3C) man page:

DESCRIPTION
     These names refer neither to routines nor to locations  with
     interesting contents; only their addresses are meaningful.

     _etext          The address of _etext is the first  location
                     after the last read-only loadable segment.



     _edata          The address of _edata is the first  location
                     after the last read-write loadable segement.



     _end            If the address of _edata is greater than the
                     address  of  _etext,  the address of _end is
                     same as the address of _edata.

                     If the address of _etext is greater than the
                     address  of  _edata,  the address of _end is
                     set to the page boundary after  the  address
                     pointed to by _etext.



USAGE
     When execution begins, the program break (the first location
     beyond  the data) coincides with _end, but the program break
     can be reset by the brk(2),  malloc(3C),  and  the  standard
     input/output  library (see stdio(3C)), functions by the pro-
     file (-p) option of  cc(1B), and so on.  Thus,  the  current
     value  of  the  program  break  should be determined by sbrk
     ((char *)0).

     References to end, etext, and  edata,  without  a  preceding
     underscore  will  be  aliased  to the associated symbol that
     begins with the underscore.

- Bart


--
Bart Smaalders                  Solaris Kernel Performance
[EMAIL PROTECTED]               http://blogs.sun.com/barts
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to