Commit graph

269 commits

Author SHA1 Message Date
Zyan Wu 94c4208821 fix: minidump-2-core doesn't work for new arm64 dumps
The app will check if process_architecture is ARM64_OLD which is 0x8003
but newman is a new arch which is ARM64 (0x12)
We can fix the issue by checking both values

Test: "/google/src/cloud/zyanwu/latest/google3/blaze-bin/chrome/dongle/platform/tools/minidump --crash_report_id=49ed111b84c0736e --crash_server=crash --build_number=265669 --build_branch=1.56 --product=newman-user --eureka_root=/usr/local/google/home/zyanwu/eureka --symbol_cache_dir=/usr/local/google/home/zyanwu/android/debug/symbols --debug" can work and it can convert the minidump to core dump then load gdb.
Bug: 199144156
Change-Id: I1590a5b617e55ae8347aad426ba5b636ff6dcdfb
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3146740
Reviewed-by: Sterling Augustine <saugustine@google.com>
Reviewed-by: Nelson Billing <nbilling@google.com>
2021-09-09 00:15:11 +00:00
Mark Mentovai 524a6249f0 mac dump_syms: fix -d option
This is a follow-up to 3c70e0145e to make -d work.

Bug: chromium:1190878,chromium:1238693
Change-Id: Ie0c6c663c98491462fca1aa992503037f19cefa9
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3103526
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-08-18 18:08:29 +00:00
Joshua Peraza 3c70e0145e mac: conditionally generate inlines
Change-Id: I35d7a5e50537bd6f20bcb5a91d386ffee9325b18
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3098093
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-08-16 19:05:42 +00:00
Zequan Wu 4f5b814790 Add INLINE and INLINE_ORIGIN records to symbol file.
The size of symbol file for chrome binary increased from 577 MB to
1205 MB. There are 7,453,748 INLINE records and 1,268,493 INLINE_ORIGIN
records.

Bug: 1190878
Change-Id: I802ec1b4574c14f74ff80d0f69daf3c81085778a
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2915828
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-08-03 22:05:47 +00:00
Peter Kasting 0d9416d3bf Fix some instances of -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: Ie95754402ce30bbd4bfcfc0c0150f07d2e3008f6
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3055796
Reviewed-by: Nelson Billing <nbilling@google.com>
2021-07-29 15:56:57 +00:00
Peter Kasting 32096a2dc8 Fix more instances of -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: Id4bc2b08180963bc6ef61df6548341c8198d4c5e
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3036985
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-07-19 15:52:17 +00:00
Zequan Wu 68735f74e7 NFC: use enum SymbolData as flags
To make it easier to add flags when adding new options in SymbolData.

Example:
I want to add a flag to disable inline record for https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2915828.
Change-Id: Ifc5da27c01efa0b0bc21cfcf769d4e6d604a63c6
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2984198
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-07-07 18:29:13 +00:00
Lei Zhang c484031f1f Consistently call BaseName() in various Usage() functions.
Make various tools print just their names as part of the usage
instructions, rather than the full path. Also fix a missing space in the
dump_syms usage output.

Change-Id: I2b796678cd47e7dbabcc03df2b57cdc3420c008c
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2787678
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2021-04-07 20:37:52 +00:00
Mike Frysinger 8b22babdf8 minidump-2-core: check platform_id for Linux
We have an enum for the OS, so check that instead.

Change-Id: I4bb38145553e3f5a2aa9baab330d588fef09a07e
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2757679
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-03-13 00:16:24 +00:00
Justin Cohen 46f4b593ee Automatically capture debugID in Mac OS symupload tool.
There's no need to pass in debug ID to symupload for native symbol
uploads, as breakpad can extra the ID itself for dsym and macho types.

Change-Id: Ib0b7703eac85bc84fe1f095e678d75b347bd872a
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2724731
Reviewed-by: Nelson Billing <nbilling@google.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-03-02 19:22:16 +00:00
Mike Frysinger 778bd12f22 switch repo manifest to track the main branch
Change-Id: Ibb74f3c06e821ba386dd286e730fce4f9344ac75
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2718528
Reviewed-by: Ian Barkley-Yeung <iby@chromium.org>
2021-02-25 01:23:04 +00:00
Mike Frysinger f469cab97b update to newer googletest
This matches the version used in Chromium.

Change-Id: I1b697c7f79a4e628cecf96f6abc3e5dacac0888a
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2605357
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-01-04 22:49:21 +00:00
Ludovic Guegan 78f7ae495b pid2md: generate a minidump from a running process
On Linux, this tool generates a minidump for given process. It requires
the permission to trace the process and access its /proc directory. This
is useful when a defective behavior of a process does not lead to a
crash. For example, it can be used by a watchdog or if a process does
not correctly respond to a termination request.

Change-Id: Iab501e42c064a537aea62831c471e395ff697186
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2539920
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2020-11-24 08:18:56 +00:00
Ludovic Guegan bd4a28c08b core_handler: coredump handler to produce minidump
On Linux, it is possible to register a core handler via
/proc/sys/kernel/core_pattern. Doing so invokes the core handler when
a process crash. The core_handler uses /proc/<pid>/mem to access the
process memory. This way it is not necessary to process the full
coredump which takes time and consumes memory.

In order to profit from this core handler, for example, one can
integrate dump_syms into Yocto and generate an archive with the
breakpad symbols of all the binaries in the rootfs. Minidumps are
especially useful on embedded systems since they are lightweight and
provide contextual information.

Change-Id: I9298d81159029cefb81c915831db54884310ad05
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2536917
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2020-11-23 23:15:15 +00:00
Nelson Billing 9c38ab7c67 Add native symbol uploads to Mac OS symupload tool.
- sym-upload-v2 protocol only.
- Supports elf, dwp, debug_only, macho, dsym, pe, and pdb (with the classic mode being called 'breakpad').

Change-Id: I68c0065aec3a7ffe29b364dd9e2e1dbdb58e3e5d
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2357528
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-08-17 22:31:50 +00:00
Nelson Billing e3a62dc550 [Mac]Exit with unique status in symupload when file already exists.
- This change should also be made for other platforms.
- This allows users to tell the difference between upload succeeding, failing, and being skipped because the file already exists on server.

Change-Id: I0b404da7aac29e0a16346bbd816ad1c815985bce
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2341373
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-08-06 22:00:38 +00:00
Nelson Billing a740aa2625 Fix Mac symupload non-XCode builds.
Change-Id: Ic4924032faba83fc14f62feaac9a97bbfd0971ed
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2324311
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-07-29 23:30:33 +00:00
Nelson Billing 114336881a Port new symbol API to symupload on Mac.
- See documentation in Linux implementation commit: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1422400.

Change-Id: If3ff256e63f2db3ac9c0be78cfc17754d532cb88
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1497653
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2020-07-24 00:20:34 +00:00
Mike Frysinger 09b056975d fix pointer style to match the style guide
We do this in a lot of places, but we're inconsistent.
Normalize the code to the Google C++ style guide.

Change-Id: Ic2aceab661ce8f6b993dda21b1cdf5d2198dcbbf
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2262932
Reviewed-by: Sterling Augustine <saugustine@google.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-07-15 06:20:02 +00:00
Michael Moss 2757a2c9c8 Make symupload exit with an error code when command-line parsing fails.
This should address the issue where some Chrome builds were failing to
upload symbols due to a bad command-line flag, but there was no
indication of a problem, and no build failure, because symupload was
exiting with a success code.

BUG=1091387
R=nbilling@google.com, wuwang@google.com

Change-Id: I0d7f1a6d689ca5fd37be3abad4c5ebc97f108e50
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2231574
Reviewed-by: Nelson Billing <nbilling@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2020-06-05 01:31:45 +00:00
Michael Forney 23e6fbf571 Use ULONG_MAX instead of __WORDSIZE to determine native ELF architecture
__WORDSIZE is an internal libc definition. Instead, we can use
ULONG_MAX from limits.h, whose value corresponds to the machine's
native word size.

This allows us to remove the fallback definition of __WORDSIZE in
the Android compatibility headers.

Bug: google-breakpad:631
Change-Id: I7b9e6f3b2121f78ccad9e32bf26acac518aefd8f
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2107100
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2020-03-17 06:30:52 +00:00
Nelson Billing c7522272ff Add "type" option to sym_upload sym-upload-v2 mode.
- "sym-upload-v2" protocol now supports specifying a symbol file "type".
- Known types are "breakpad" (default option, previously this was only
effectively the only option), "elf", "pe", "macho", "debug_only", "dwp",
"pdb", and "dsym".
- When type other than breakpad is specified, sym_upload tool requires
the code_file and debug_id value (that it otherwise would have gotten
from the text of the Breakpad symbol file).
- This ultimately means that sym_upload can be used to upload native
symbol files now, in addition to Breakpad symbol files.

Change-Id: I3a331ba16f199d1d0025df735716ba5de298f522
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2078670
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-02-27 22:04:31 +00:00
Joshua Peraza a4c536dc2d linux: fix symupload build failures
Change-Id: I58612eb70173d79c2aeb755d8c7f5677cb3a8fb8
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2067608
Reviewed-by: Nelson Billing <nbilling@google.com>
2020-02-21 18:37:25 +00:00
Nelson Billing bbad9f255d Add optional new symbol upload API to sym_upload.
Change-Id: I6a49e9f4a699fa6f5f8e9f0fc86afb4cb342a442
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1422400
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2020-02-20 16:50:31 +00:00
Jake Ehrlich 17958ef62c Add options to set OS and filename
This allows Fuchsia to use dump_syms directly without a
postprocessing step.

Change-Id: I84507f8bedddfcdcdb237119457c8ddf8ac354d5
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1850718
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2019-10-24 22:05:33 +00:00
Nelson Billing c46151db0f Fix Windows symupload after PE-only MD refactor.
- I think I previously fixed this for dump_syms, but must have missed
the symupload one because it didn't have a gn target.

Change-Id: Ibf4daa0dc874f329c2ee7c7b3d4de1ee6bc68d13
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1682717
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-07-01 17:49:32 +00:00
Nelson Billing 9cafb376eb Explicitly LoadLibrary dbghelp.dll in symbol converter.
- This is a workaround to an issue with gn/clang build of Windows
symbol converter where dbghelp.dll is loaded from system32/syswow64
instead of alongside the process exe.
- Why do we care where dbghelp.dll is loaded from? Two considerations:
  1. dbghelp.dll will only load symsrv.dll from the directory where it
  resides.
  2. symsrv.dll requires a file called "symsrv.yes" to be in the
  directory where it resides in order to work with MS symbol stores.
Therefore if we load dbghelp.dll from syswow64, then we must also
ensure there is a symsrv.dll and symsrv.yes file in syswow64.

Change-Id: Ia283a2c11e276c855a48157aa7be77897af4b02e
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1680670
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-28 20:44:55 +00:00
Nelson Billing a5a607b0b0 Fix clang build warnings/errors for windows symbol converter.
Change-Id: Ib7f6e37af1466b5bed3e7d2921e0d9774394ad1e
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1680056
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-06-27 20:02:30 +00:00
Nelson Billing b62101dead Fix windows symbol converter blacklisting.
- Was attempting "full match" when we meant to do "partial match".

Change-Id: Ia748a7fc8707e11f44c205e57f218f5f4bbc5612
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1676936
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-25 23:24:24 +00:00
Nelson Billing e1b5fef027 Fix dump_syms clang Windows build.
- Put FileHeaderMachineToCpuString definition in header.
- Remove extra semi-colon.

Change-Id: I726ad0f73c57908576414fd828052dff09f5c51f
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1673142
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-06-25 00:28:04 +00:00
Nelson Billing 6ca3f8bbe5 Add PE-only MD support to Windows symbol converter.
- Only 64-bit PEs supported.
- Re-add some scripts that were missed in initial move of code.
- Change msdia120.dll dependency to msdia140.dll.
- Add tests for Intel, AMD, and NVidia Microsoft Symbol Stores.
- Windows symbol converter now attempts to fall back to PE-only metadata
  when it fails to locate a PDB.
- Remove the 'binary' folder under converter_exe. Need to think more
  about how a deployment should look and what tool(s) to use in creating
  one.

Change-Id: I52e42cbe5e759874a25114c2483e8b50d73fdf77
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1670098
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-24 18:55:02 +00:00
Nelson Billing c38725b70e Fix 'debug_file' in PESourceLineWriter.
- Add a #define to testing.gyp to avoid warnings about TR1 deprecation.
- PESourceLineWriter now reads debug_file from CodeView record instead
  of using code_file value.
- Updated PE-only MD reading unit test.

Change-Id: Ib4e6201df3e3fd651e160f310584b5a67b16c842
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1668347
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-19 23:16:50 +00:00
Nelson Billing ee65a3c005 Fix symbol converter after PE-only MD refactor.
Change-Id: Ib6d3359f6a8ad7e0d2c2d6a4e92af37bc451db28
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1666353
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-18 23:22:46 +00:00
Nelson Billing 92032389a6 Move Windows Symbol Converter to breakpad
- First step, this is just enough to get it generating a msbuild
  project with GYP, which in turn can build the executable.
- Tests need to be redesigned because there isn't an available server.

Change-Id: I45440fd32b3ede29666c127703bcd441f0e4288e
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1661134
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-18 21:58:05 +00:00
Mark Mentovai a7d686086c Mac upload_system_symbols: make dump of /Library/QuickTime optional
/Library/QuickTime is gone in 10.15b2 19A487l.

Change-Id: I927350a9cb383b93e8b18aef5f36c77bb67fede1
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1663996
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2019-06-18 15:01:25 +00:00
Mark Mentovai 9575315d8b Mac upload_system_symbols: use log.Fatalf where formatting is desired
Change-Id: I5623da3109feeb4b80137fa67501b8fd7aa5c8ec
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1663995
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2019-06-18 14:48:57 +00:00
Nelson Billing 87bc402210 Enable PE-only metadata dumping for 64bit (aka. PE32+ format) PEs files.
- Implement in common_windows_lib-- added class "PESourceLineWriter".
    - Add command-line switch to tell dump_syms to use PESourceLineWriter.
      Symbol data created this way will contain information to correlate the
      module with ones found in minidumps, along with frame info that allows
      much higher quality stack-walking in those minidumps.
    - Significant refactor of PDBSourceLineWriter-- all code concerned with
      extracting metadata from PE files has been moved into utility
      functions. This is to allow sharing of this functionality with newly-
      added PESourceLineWriter.
    - Added a unit test to dump_syms for the PE-only scenario.

Change-Id: If0855f05d424d32d23f484995be5f34232179a37
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1525325
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-12 21:20:27 +00:00
Nelson Billing 548ca6e382 Port new symbol upload API to Windows symupload tool.
- CL for Linux change, including new documentation for API, at:
  https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1422400/3

Change-Id: I579744fec74c64757b8bc31de63d7a07ef9a0f1f
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1487982
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-06-12 20:56:37 +00:00
Nelson Billing a86aedb515 Fix dump_syms unit tests on Windows.
- Baselines appeared to be stale. dump_syms now prints FUNC entries
  with the full function signature, whereas the baselines only
  contained the function name. The current state of the symbol file
  docs
  (https://chromium.googlesource.com/breakpad/breakpad/+/refs/heads/master/docs/symbol_files.md)
  seem to agree with the new FUNC entries rather than the old ones.
  Example of a name given in current docs:
  "nsQueryInterfaceWithError::operator()(nsID const&, void**) const".

Change-Id: I9e01354cd82b7184b7cba31d132603e949a657ac
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1529133
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2019-03-18 23:08:12 +00:00
Mike Frysinger 7864f2edaa core2md: write error message with perror
The current failure message omits the underlying errno.  This can
make diagnosing failures a bit difficult unless you run everything
through strace.  For example:
 $ core2md core /proc/self md
 $ core2md core /proc/self md
 Unable to generate minidump

Now we get the errno details:
 Unable to generate minidump: File exists

Change-Id: I67f30879868ce4a726d5d888ee8c0a4a316b5186
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1497660
Reviewed-by: Ted Mielczarek <ted.mielczarek@gmail.com>
2019-03-04 16:45:16 +00:00
Joshua Peraza e42f2456b7 Add mac dump_syms support for arm64e
Change-Id: I6a25b47d4fc5e42ff9fa30107b563dcf1d51c0d1
Reviewed-on: https://chromium-review.googlesource.com/c/1351352
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-11-26 18:29:35 +00:00
Joshua Peraza 5cbd3c69e0 fix dump_syms xcode project
dwarf_range_list_handler.{cc,h} were added in 16e08520.

Default to building with c++11.

Change-Id: Iceb29ab665260a9e71a30920fdfb5623d10a9cfa
Reviewed-on: https://chromium-review.googlesource.com/c/1351351
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-11-26 18:29:16 +00:00
Joshua Peraza 88d8114fda Define and use a a new MDRawContextARM64
This struct matches the layout defined by Microsoft and replaces
Breakpad's MDRawContextARM64_Old. This CL updates the processor to
understand either the old or new structs, but clients continue to write
the old structs.

Change-Id: I8dedd9ddb2ec083b802723b9ac87beb18d98edbd
Reviewed-on: https://chromium-review.googlesource.com/1155938
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-08-01 19:27:25 +00:00
Joshua Peraza 627ef0cb9c Rename MDRawContextARM64 and its context flags
This makes way for the addition of a struct matching Microsoft's layout
for ARM64.

Change-Id: I115f25290863e7438852691d1ec3c9324a42f7a5
Reviewed-on: https://chromium-review.googlesource.com/1152158
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2018-08-01 19:26:38 +00:00
Joshua Peraza 948ce04ed7 mac: Fix broken xcode projects
Change-Id: I1cd8f0b0224c9b629dda720c11f6c081b175f8bd
Reviewed-on: https://chromium-review.googlesource.com/1157121
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-07-31 18:52:20 +00:00
Ivan Penkov 9fecc95c72 Add path_helper.cc and path_helper.h to dump_syms.xcodeproj.
Fixes a build break of dump_syms with Xcode.

Patch provided by Hiroyuki Komatsu.

Change-Id: I3bd3772060afee9f78dc99c75cd94f96a56c7617
Reviewed-on: https://chromium-review.googlesource.com/1144604
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-07-24 17:12:32 +00:00
Syed Nisar Ul Haq ceef4a517d Fixed file extention for minidump_upload in tools_linux.gypi
Bug:
Change-Id: I02ceca2ff7cb87bb2b8f0cf02d31f9ab6d46a8da
src/tools/linux/tools_linux.gypi was using 'symupload/minidump_upload.m' whereas it should have been 'symupload/minidump_upload.cc' for linux. '.m' is for mac.
Reviewed-on: https://chromium-review.googlesource.com/840622
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2018-01-04 08:43:43 +00:00
Mike Wittman aebee55695 Update binaries with dump_syms changes to write new field
Incorporates the changes in
897a12cd26

Bug: google-breakpad:751
Change-Id: I8c6de8c0477c0b1e6d7a65551ecb116c95e1a696
Reviewed-on: https://chromium-review.googlesource.com/820567
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-12 03:49:04 +00:00
Mike Wittman 897a12cd26 Write field indicating multiple symbols at an address in dump_syms
Updates dump_syms to write the optional 'm' first field in FUNCTION and
PUBLIC records to indicate that the address corresponds to more than one
symbol.

Bug: google-breakpad:751
Change-Id: I850b0122324ed5f9ec747aa92ba354a3126a7ef9
Reviewed-on: https://chromium-review.googlesource.com/820711
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-11 22:36:40 +00:00
Mike Wittman b1226959a2 Add optional field indicating multiple symbols at an address
Adds an optional 'm' as the first field in FUNCTION and PUBLIC records
to indicate that the address corresponds to more than one symbol.
Controls this by a command line flag for now to give symbol file users
a chance to update.

Also reduces the number of IDiaSymbols retained in memory to one per
address. This reduces memory consumption by 8% when processing
chrome.dll.pdb.

Updates the processor to parse the new optional field.

Bug: google-breakpad:751
Change-Id: I6503edaf057312d21a1d63d9c84e5a4fa019dc46
Reviewed-on: https://chromium-review.googlesource.com/773418
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-11-29 21:33:23 +00:00