diff options
author | Simon Baldwin <simonb@google.com> | 2012-11-15 10:49:02 +0000 |
---|---|---|
committer | Simon Baldwin <simonb@google.com> | 2012-11-15 10:49:02 +0000 |
commit | 1bd063d8057e87d6b04613acb9b4d659c5d1f09e (patch) | |
tree | a8f4359c840fd9de1b79107a901dbb9f2e321735 | |
parent | ddc051e28b3eeb03111979c1cd8901b76393c180 (diff) | |
download | binutils-current-master.tar.gz |
On exit, compute data size as the delta between current
sbrk(0) and start_sbrk.
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/ldmain.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index afb0b997f..2b0a3e41e 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2012-11-15 Simon Baldwin <simonb@google.com> + + * ldmain.c (main): Add start_sbrk set to sbrk(0) on entry. + On exit, compute data size as the delta between current + sbrk(0) and start_sbrk. + 2012-11-09 Nick Clifton <nickc@redhat.com> * emultempl/rxelf.em (no_flag_mismatch_warnings): Initialise to diff --git a/ld/ldmain.c b/ld/ldmain.c index 3ba19b9fb..07f5f0923 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -191,6 +191,9 @@ main (int argc, char **argv) { char *emulation; long start_time = get_run_time (); +#ifdef HAVE_SBRK + char *start_sbrk = (char *) sbrk (0); +#endif #if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES) setlocale (LC_MESSAGES, ""); @@ -505,7 +508,7 @@ main (int argc, char **argv) program_name, run_time / 1000000, run_time % 1000000); #ifdef HAVE_SBRK fprintf (stderr, _("%s: data size %ld\n"), program_name, - (long) (lim - (char *) &environ)); + (long) (lim - start_sbrk)); #endif fflush (stderr); } |