Up version to 1.1, as the 1.1 binary was pushed to users today.
[deliverable/binutils-gdb.git] / gold / main.cc
index a6c98721805a792bf863be7a6184813089901ac7..6e356581701d89230750487d6dc086622517c20b 100644 (file)
@@ -91,7 +91,10 @@ write_debug_script(std::string filename_str,
   FILE* fp = fopen(filename, "w");
   if (fp)
     {
-      fprintf(fp, "[ \"$1\" = debug ] && PREFIX=\"${GDB-/home/build/static/projects/tools/gdb} --annotate=3 --fullname %s --args\" && shift\n", argv_0);
+      fprintf(fp, "[ \"$1\" = debug ]"
+              " && PREFIX=\"${GDB-gdb} --annotate=3 --fullname %s --args\""
+              " && shift\n",
+              argv_0);
       fprintf(fp, "$PREFIX%s $*\n", args);
       fclose(fp);
       chmod(filename, 0755);
@@ -132,6 +135,9 @@ main(int argc, char** argv)
 
   program_name = argv[0];
 
+  // In libiberty; expands @filename to the args in "filename".
+  expandargv(&argc, &argv);
+
   // This is used by write_debug_script(), which wants the unedited argv.
   std::string args = collect_argv(argc, argv);
 
@@ -160,6 +166,16 @@ main(int argc, char** argv)
   write_debug_script(command_line.options().output_file_name(),
                      program_name, args.c_str());
 
+  // The GNU linker ignores version scripts when generating
+  // relocatable output.  If we are not compatible, then we break the
+  // Linux kernel build, which uses a linker script with -r which must
+  // not force symbols to be local.  It would actually be useful to
+  // permit symbols to be forced local with -r, though, as it would
+  // permit some linker optimizations.  Perhaps we need yet another
+  // option to control this.  FIXME.
+  if (parameters->output_is_object())
+    command_line.script_options()->version_script_info()->clear();
+
   // The work queue.
   Workqueue workqueue(command_line.options());
 
This page took 0.029011 seconds and 4 git commands to generate.