* script-sections.cc (class Orphan_section_placement): Define
[binutils-gdb.git] / gold / main.cc
index c9d0d7966c411ad9c2fa8f0733c4cb0c7d90dad9..e3df9c084841926370a798c2929b8f7f1b0cddbc 100644 (file)
@@ -1,6 +1,6 @@
 // main.cc -- gold main function.
 
-// Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -254,7 +254,7 @@ main(int argc, char** argv)
                "(user: %ld.%06ld sys: %ld.%06ld wall: %ld.%06ld)\n"),
               program_name,
               elapsed.user / 1000, (elapsed.user % 1000) * 1000,
-              elapsed.sys / 1000, (elapsed.user % 1000) * 1000,
+              elapsed.sys / 1000, (elapsed.sys % 1000) * 1000,
               elapsed.wall / 1000, (elapsed.wall % 1000) * 1000);
 
 #ifdef HAVE_MALLINFO
@@ -264,19 +264,25 @@ main(int argc, char** argv)
 #endif
       File_read::print_stats();
       Archive::print_stats();
+      Lib_group::print_stats();
       fprintf(stderr, _("%s: output file size: %lld bytes\n"),
              program_name, static_cast<long long>(layout.output_file_size()));
       symtab.print_stats();
       layout.print_stats();
     }
 
-  if (mapfile != NULL)
-    mapfile->close();
-
   // Issue defined symbol report.
   if (command_line.options().user_set_print_symbol_counts())
     input_objects.print_symbol_counts(&symtab);
 
+  // Output cross reference table.
+  if (command_line.options().cref())
+    input_objects.print_cref(&symtab,
+                            mapfile == NULL ? stdout : mapfile->file());
+
+  if (mapfile != NULL)
+    mapfile->close();
+
   if (parameters->options().fatal_warnings()
       && errors.warning_count() > 0
       && errors.error_count() == 0)