diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sparc/gmon-sol2.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3146903..ed88252 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-03-23 Richard Henderson <rth@redhat.com> + + * config/sparc/gmon-sol2.c (internal_mcount): Assume either + _start or _init begins the text segment. + 2002-03-23 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT diff --git a/gcc/config/sparc/gmon-sol2.c b/gcc/config/sparc/gmon-sol2.c index 6d66966..bcb0c06 100644 --- a/gcc/config/sparc/gmon-sol2.c +++ b/gcc/config/sparc/gmon-sol2.c @@ -291,8 +291,10 @@ static void internal_mcount(selfpc, frompcindex) if(!already_setup) { extern char etext[]; + extern char _start[]; + extern char _init[]; already_setup = 1; - monstartup(0, (char *)etext); + monstartup(_start < _init ? _start : _init, etext); #ifdef USE_ONEXIT on_exit(_mcleanup, 0); #else |