[PATCH] GOLD/DWP: avoid segmentation fault for binaries without debug fission

Yunlian Jiang yunlian@google.com
Mon May 16 23:56:00 GMT 2016


If run dwp command on a binary built without debug fission, it will
cause segmentation
fault. This patch fixes that by exit early if no DWO files information
found inside the
input binary.

    gold/
    * dwp.cc: (main): exit early when no DWO files information found
in the input binary.

diff --git a/gold/dwp.cc b/gold/dwp.cc
index d8c39c6..c26f969 100644
--- a/gold/dwp.cc
+++ b/gold/dwp.cc
@@ -2436,6 +2436,11 @@ main(int argc, char** argv)
       return ok ? EXIT_SUCCESS : EXIT_FAILURE;
     }

+  // If there is no DWO files information found in the input binary,
+  // return early to avoid segmentation fault.
+  if (files.size() == 0)
+    return EXIT_SUCCESS;
+
   // Process each file, adding its contents to the output file.
   Dwp_output_file output_file(output_filename.c_str());
   for (File_list::const_iterator f = files.begin(); f != files.end(); ++f)



More information about the Binutils mailing list