* i386.cc (class Target_i386): Add got_tlsdesc_ field.
[binutils-gdb.git] / gold / main.cc
index c9d0d7966c411ad9c2fa8f0733c4cb0c7d90dad9..631f1ac2d2c263cb7e34ebc9c07ac300b232c14c 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.
@@ -234,6 +234,9 @@ main(int argc, char** argv)
       layout.incremental_inputs()->report_inputs(command_line.inputs());
     }
 
+  if (parameters->options().section_ordering_file())
+    layout.read_layout_from_file();
+
   // Get the search path from the -L options.
   Dirsearch search_path;
   search_path.initialize(&workqueue, &command_line.options().library_path());
@@ -254,7 +257,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 +267,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)