* as.c (dump_statistics): Compute data size as the delta between
authorSimon Baldwin <simonb@google.com>
Mon, 22 Oct 2012 11:13:25 +0000 (11:13 +0000)
committerSimon Baldwin <simonb@google.com>
Mon, 22 Oct 2012 11:13:25 +0000 (11:13 +0000)
current sbrk(0) and start_sbrk.
* (main): Set start_sbrk to sbrk(0) on entry.

gas/ChangeLog
gas/as.c

index b7e4f2d..035a9cc 100644 (file)
@@ -1,3 +1,9 @@
+2012-10-22  Simon Baldwin  <simonb@google.com>
+
+       * as.c (dump_statistics): Compute data size as the delta between
+       current sbrk(0) and start_sbrk.
+       * (main): Set start_sbrk to sbrk(0) on entry.
+
 2012-10-18  Kai Tietz  <ktietz@redhat.com>
 
        * config/obj-coff.c: Add include of struc-symbol.h header.
index fa4141f..3eb82c6 100644 (file)
--- a/gas/as.c
+++ b/gas/as.c
@@ -124,6 +124,9 @@ static struct itbl_file_list *itbl_files;
 #endif
 
 static long start_time;
+#ifdef HAVE_SBRK
+char *start_sbrk;
+#endif
 
 static int flag_macro_alternate;
 
@@ -975,7 +978,7 @@ dump_statistics (void)
           myname, run_time / 1000000, run_time % 1000000);
 #ifdef HAVE_SBRK
   fprintf (stderr, _("%s: data size %ld\n"),
-          myname, (long) (lim - (char *) &environ));
+          myname, (long) (lim - start_sbrk));
 #endif
 
   subsegs_print_statistics (stderr);
@@ -1135,6 +1138,9 @@ main (int argc, char ** argv)
   int macro_strip_at;
 
   start_time = get_run_time ();
+#ifdef HAVE_SBRK
+  start_sbrk = (char *) sbrk (0);
+#endif
 
 #if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES)
   setlocale (LC_MESSAGES, "");