Reland "scripts: Add -d and -m parameters to dump_syms"

This reverts commit 68546b0fd96b3eb37531d3e675b0337f137e8f59.

Reason for revert: Build hang probably fixed in crrev.com/c/4544694.

Original change's description:
> Revert "scripts: Add -d and -m parameters to dump_syms"
>
> This reverts commit a89ee08c1d2f559621865238181551614b891c1b.
>
> Reason for revert: breakpad symbols time out, b/280290608
>
>
> Original change's description:
> > scripts: Add -d and -m parameters to dump_syms
> >
> > This dumps inline frames and ICF data which should generate better
> > server-side crash stacks.
> >
> > BUG=chromium:1410232
> > TEST=cros_generate_breakpad_symbols_unittest.py
> >
> > Change-Id: I711105ec9a189988c8972f4126c96e57cab8839b
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4288607
> > Reviewed-by: Ian Barkley-Yeung <iby@chromium.org>
> > Commit-Queue: Peter Boström <pbos@chromium.org>
> > Reviewed-by: Tim Bain <tbain@google.com>
> > Reviewed-by: Mike Frysinger <vapier@chromium.org>
> > Tested-by: Peter Boström <pbos@chromium.org>
>
> Bug: chromium:1410232, b:280290608
> Change-Id: I4895d2ec7babdbbd129b7a75a9fc806d2416113d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4496484
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Raul Rangel <rrangel@chromium.org>
> Owners-Override: Raul Rangel <rrangel@chromium.org>
> Reviewed-by: Ian Barkley-Yeung <iby@chromium.org>

BUG=chromium:1410232, b/280290608
TEST=cros_generate_breakpad_symbols_unittest.py

Change-Id: I8e221dce60c5483833db83a3989c5f68a8b84234
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4566948
Commit-Queue: Peter Boström <pbos@chromium.org>
Tested-by: Peter Boström <pbos@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Ian Barkley-Yeung <iby@chromium.org>
diff --git a/scripts/cros_generate_breakpad_symbols_unittest.py b/scripts/cros_generate_breakpad_symbols_unittest.py
index cb49a40..810dada 100644
--- a/scripts/cros_generate_breakpad_symbols_unittest.py
+++ b/scripts/cros_generate_breakpad_symbols_unittest.py
@@ -428,6 +428,8 @@
 class GenerateSymbolTest(cros_test_lib.RunCommandTempDirTestCase):
     """Test GenerateBreakpadSymbol."""
 
+    _DUMP_SYMS_BASE_CMD = ["dump_syms", "-v", "-d", "-m"]
+
     def setUp(self):
         self.elf_file = os.path.join(self.tempdir, "elf")
         osutils.Touch(self.elf_file)
@@ -472,7 +474,7 @@
         self.assertEqual(ret, self.sym_file)
         self.assertEqual(self.rc.call_count, 2)
         self.assertCommandArgs(
-            1, ["dump_syms", "-v", self.elf_file, self.debug_dir]
+            1, self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir]
         )
         self.assertExists(self.sym_file)
 
@@ -488,7 +490,9 @@
         )
         self.assertEqual(ret, self.sym_file)
         self.assertEqual(num_errors.value, 0)
-        self.assertCommandArgs(1, ["dump_syms", "-v", "-c", self.elf_file])
+        self.assertCommandArgs(
+            1, self._DUMP_SYMS_BASE_CMD + ["-c", self.elf_file]
+        )
         self.assertEqual(self.rc.call_count, 2)
         self.assertExists(self.sym_file)
 
@@ -498,7 +502,7 @@
             self.elf_file, breakpad_dir=self.breakpad_dir
         )
         self.assertEqual(ret, self.sym_file)
-        self.assertCommandArgs(1, ["dump_syms", "-v", self.elf_file])
+        self.assertCommandArgs(1, self._DUMP_SYMS_BASE_CMD + [self.elf_file])
         self.assertEqual(self.rc.call_count, 2)
         self.assertExists(self.sym_file)
 
@@ -511,13 +515,14 @@
             )
         self.assertEqual(ret, self.sym_file)
         self.assertCommandArgs(
-            1, ["sudo", "--", "dump_syms", "-v", self.elf_file]
+            1, ["sudo", "--"] + self._DUMP_SYMS_BASE_CMD + [self.elf_file]
         )
 
     def testLargeDebugFail(self):
         """Running w/large .debug failed, but retry worked"""
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", self.elf_file, self.debug_dir], returncode=1
+            self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir],
+            returncode=1,
         )
         ret = cros_generate_breakpad_symbols.GenerateBreakpadSymbol(
             self.elf_file, self.debug_file, self.breakpad_dir
@@ -525,16 +530,18 @@
         self.assertEqual(ret, self.sym_file)
         self.assertEqual(self.rc.call_count, 4)
         self.assertCommandArgs(
-            1, ["dump_syms", "-v", self.elf_file, self.debug_dir]
+            1, self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir]
         )
         # The current fallback from _DumpExpectingSymbols() to
-        # _DumpAllowingBasicFallback() causes the first dump_sums command to get
+        # _DumpAllowingBasicFallback() causes the first dump_syms command to get
         # repeated.
         self.assertCommandArgs(
-            2, ["dump_syms", "-v", self.elf_file, self.debug_dir]
+            2, self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir]
         )
         self.assertCommandArgs(
-            3, ["dump_syms", "-v", "-c", "-r", self.elf_file, self.debug_dir]
+            3,
+            self._DUMP_SYMS_BASE_CMD
+            + ["-c", "-r", self.elf_file, self.debug_dir],
         )
         self.assertExists(self.sym_file)
 
@@ -544,7 +551,8 @@
         Test force_basic_fallback goes straight to _DumpAllowingBasicFallback().
         """
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", self.elf_file, self.debug_dir], returncode=1
+            self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir],
+            returncode=1,
         )
         ret = cros_generate_breakpad_symbols.GenerateBreakpadSymbol(
             self.elf_file,
@@ -559,20 +567,24 @@
         # _ExpectGoodSymbols() either, so there's 2 fewer commands than
         # in testLargeDebugFail.
         self.assertCommandArgs(
-            0, ["dump_syms", "-v", self.elf_file, self.debug_dir]
+            0, self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir]
         )
         self.assertCommandArgs(
-            1, ["dump_syms", "-v", "-c", "-r", self.elf_file, self.debug_dir]
+            1,
+            self._DUMP_SYMS_BASE_CMD
+            + ["-c", "-r", self.elf_file, self.debug_dir],
         )
         self.assertExists(self.sym_file)
 
     def testDebugFail(self):
         """Running w/.debug always failed, but works w/out"""
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", self.elf_file, self.debug_dir], returncode=1
+            self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir],
+            returncode=1,
         )
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", "-c", "-r", self.elf_file, self.debug_dir],
+            self._DUMP_SYMS_BASE_CMD
+            + ["-c", "-r", self.elf_file, self.debug_dir],
             returncode=1,
         )
         ret = cros_generate_breakpad_symbols.GenerateBreakpadSymbol(
@@ -581,18 +593,20 @@
         self.assertEqual(ret, self.sym_file)
         self.assertEqual(self.rc.call_count, 5)
         self.assertCommandArgs(
-            1, ["dump_syms", "-v", self.elf_file, self.debug_dir]
+            1, self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir]
         )
         # The current fallback from _DumpExpectingSymbols() to
-        # _DumpAllowingBasicFallback() causes the first dump_sums command to get
+        # _DumpAllowingBasicFallback() causes the first dump_syms command to get
         # repeated.
         self.assertCommandArgs(
-            2, ["dump_syms", "-v", self.elf_file, self.debug_dir]
+            2, self._DUMP_SYMS_BASE_CMD + [self.elf_file, self.debug_dir]
         )
         self.assertCommandArgs(
-            3, ["dump_syms", "-v", "-c", "-r", self.elf_file, self.debug_dir]
+            3,
+            self._DUMP_SYMS_BASE_CMD
+            + ["-c", "-r", self.elf_file, self.debug_dir],
         )
-        self.assertCommandArgs(4, ["dump_syms", "-v", self.elf_file])
+        self.assertCommandArgs(4, self._DUMP_SYMS_BASE_CMD + [self.elf_file])
         self.assertExists(self.sym_file)
 
     def testCompleteFail(self):
@@ -615,10 +629,11 @@
         ko_file = os.path.join(self.tempdir, "elf.ko")
         osutils.Touch(ko_file)
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", ko_file, self.debug_dir], returncode=1
+            self._DUMP_SYMS_BASE_CMD + [ko_file, self.debug_dir],
+            returncode=1,
         )
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", "-c", "-r", ko_file, self.debug_dir],
+            self._DUMP_SYMS_BASE_CMD + ["-c", "-r", ko_file, self.debug_dir],
             returncode=1,
         )
         ret = cros_generate_breakpad_symbols.GenerateBreakpadSymbol(
@@ -628,11 +643,14 @@
         self.assertEqual(self.rc.call_count, 3)
         # Only one call (at the beginning of _DumpAllowingBasicFallback())
         # to "dump_syms -v"
-        self.assertCommandArgs(0, ["dump_syms", "-v", ko_file, self.debug_dir])
         self.assertCommandArgs(
-            1, ["dump_syms", "-v", "-c", "-r", ko_file, self.debug_dir]
+            0, self._DUMP_SYMS_BASE_CMD + [ko_file, self.debug_dir]
         )
-        self.assertCommandArgs(2, ["dump_syms", "-v", ko_file])
+        self.assertCommandArgs(
+            1,
+            self._DUMP_SYMS_BASE_CMD + ["-c", "-r", ko_file, self.debug_dir],
+        )
+        self.assertCommandArgs(2, self._DUMP_SYMS_BASE_CMD + [ko_file])
         self.assertExists(self.sym_file)
 
     def testGoBinary(self):
@@ -653,14 +671,15 @@
         )
         self.rc.AddCmdResult(["/usr/bin/file", go_binary], stdout=FILE_OUT_GO)
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", go_binary, self.debug_dir], returncode=1
-        )
-        self.rc.AddCmdResult(
-            ["dump_syms", "-v", "-c", "-r", go_binary, self.debug_dir],
+            self._DUMP_SYMS_BASE_CMD + [go_binary, self.debug_dir],
             returncode=1,
         )
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", go_binary],
+            self._DUMP_SYMS_BASE_CMD + ["-c", "-r", go_binary, self.debug_dir],
+            returncode=1,
+        )
+        self.rc.AddCmdResult(
+            self._DUMP_SYMS_BASE_CMD + [go_binary],
             returncode=1,
             stderr=(
                 f"{go_binary}: file contains no debugging information "
@@ -677,12 +696,13 @@
         # Only one call (at the beginning of _DumpAllowingBasicFallback())
         # to "dump_syms -v"
         self.assertCommandArgs(
-            1, ["dump_syms", "-v", go_binary, self.debug_dir]
+            1, self._DUMP_SYMS_BASE_CMD + [go_binary, self.debug_dir]
         )
         self.assertCommandArgs(
-            2, ["dump_syms", "-v", "-c", "-r", go_binary, self.debug_dir]
+            2,
+            self._DUMP_SYMS_BASE_CMD + ["-c", "-r", go_binary, self.debug_dir],
         )
-        self.assertCommandArgs(3, ["dump_syms", "-v", go_binary])
+        self.assertCommandArgs(3, self._DUMP_SYMS_BASE_CMD + [go_binary])
         self.assertNotExists(self.sym_file)
         self.assertEqual(num_errors.value, 0)
 
@@ -694,14 +714,14 @@
         osutils.Touch(debug_file, makedirs=True)
         self.rc.AddCmdResult(["/usr/bin/file", binary], stdout=self.FILE_OUT)
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", binary, debug_dir], returncode=1
+            self._DUMP_SYMS_BASE_CMD + [binary, debug_dir], returncode=1
         )
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", "-c", "-r", binary, debug_dir],
+            self._DUMP_SYMS_BASE_CMD + ["-c", "-r", binary, debug_dir],
             returncode=1,
         )
         self.rc.AddCmdResult(
-            ["dump_syms", "-v", binary],
+            self._DUMP_SYMS_BASE_CMD + [binary],
             returncode=1,
             stderr=(
                 f"{binary}: file contains no debugging information "
@@ -717,11 +737,13 @@
         self.assertCommandArgs(0, ["/usr/bin/file", binary])
         # Only one call (at the beginning of _DumpAllowingBasicFallback())
         # to "dump_syms -v"
-        self.assertCommandArgs(1, ["dump_syms", "-v", binary, debug_dir])
         self.assertCommandArgs(
-            2, ["dump_syms", "-v", "-c", "-r", binary, debug_dir]
+            1, self._DUMP_SYMS_BASE_CMD + [binary, debug_dir]
         )
-        self.assertCommandArgs(3, ["dump_syms", "-v", binary])
+        self.assertCommandArgs(
+            2, self._DUMP_SYMS_BASE_CMD + ["-c", "-r", binary, debug_dir]
+        )
+        self.assertCommandArgs(3, self._DUMP_SYMS_BASE_CMD + [binary])
         self.assertNotExists(self.sym_file)
         self.assertEqual(num_errors.value, 0)