aboutsummaryrefslogtreecommitdiff
path: root/src/processor
Commit message (Collapse)AuthorAgeFilesLines
* Removed unused includes/declarationsJoshua Peraza2019-06-112-4/+0
| | | | | | Change-Id: I2ada9f96efe97c25c885eef561af725418a46bec Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1652667 Reviewed-by: Mark Mentovai <mark@chromium.org>
* fix build failuresJoshua Peraza2019-06-114-0/+4
| | | | | | Change-Id: I9e745d2a4b3f780941ba286bbafa5d4169d172f7 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1653863 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Enable truncation of module rangesJoshua Peraza2019-06-1110-101/+480
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELF modules are loaded in memory in several, possibly discontiguous, segments. If the holes between segments are large enough, other things, possibly other ELF modules may be mapped in that space. Crashpad records the range of modules as the base address of the lowest mapped segment to the high address of the highest mapped segment. This means that when one module is mapped into a hole in another, it appears to the Breakpad processor as overlapping modules. Module ranges are relevant to the Breakpad processor during stackwalking for identifying which module a particular program counter belongs to (i.e. mapping the address to a module's text segment). This patch addresses this issue of overlapping modules by truncating the range of the module with the lower base address. A typical module's text segment is the first loaded segment which would leave the text segment range unaffected. Module producers can restrict the size of holes in their ELF modules with the flag "-Wl,-z,max-page-size=4096", preventing other modules from being mapped in their address range. Properly contemplating ELF module address ranges would require extensions to the minidump format to encode any holes. crbug.com/crashpad/298 This patch also renames the concept of "shrinking down" (which truncated the upper of two overlapping ranges) to "truncate upper". Change-Id: I4599201f1e43918db036c390961f8b39e3af1849 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1646932 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Always emit a 32-bit crash address for 32-bit architecturesGabriele Svelto2019-01-303-8/+56
| | | | | | | | | | | | | | Certain minidumps for 32-bit crashes have the upper 32-bit of the crash address (which is a 64-bit value) set to non-zero values. This caused a crash address with more than 32-bits to be printed out for minidumps of 32-bit architectures. This patch masks out those bits when reading the raw minidump data to ensure this doesn't happen anymore. Bug: google-breakpad:783 Change-Id: Ieef6dff759fd0ee2efc47c4c4a3cf863a48f0659 Reviewed-on: https://chromium-review.googlesource.com/c/1427819 Reviewed-by: Ted Mielczarek <ted.mielczarek@gmail.com>
* Make the minidump processor correctly populate the CPU information string ↵Gabriele Svelto2019-01-301-0/+1
| | | | | | | | | | | | | | for Microsoft-style ARM64 minidumps This affects the output of tools like minidump_stackwalk which currently print out the hexadecimal representation of the architecture instead of the "arm64" string. BUG=780 Change-Id: Id1d9d65fa5f3509c8c6580e2e3042f7d682b52be Reviewed-on: https://chromium-review.googlesource.com/c/1412004 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Conditionally define BPLOG_LAZY_STREAMJoshua Peraza2018-11-271-0/+2
| | | | | | | | This allows BPLOG_LAZY_STREAM to be overridden by BP_LOGGING_INCLUDE Change-Id: I5c9ec19b619ad5db9e97f3a1813b0f965a357b38 Reviewed-on: https://chromium-review.googlesource.com/c/1351361 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* Conditionally define BPLOG_IFJoshua Peraza2018-10-121-0/+2
| | | | | | | | This allows BPLOG_IF to be overriden by defines in BP_LOGGING_INCLUDE. Change-Id: Ic6e8373476cc4d1f73d55e13a23686a2c8309fdc Reviewed-on: https://chromium-review.googlesource.com/c/1278104 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* Swap MDCVInfoELF::cv_signature if needed.Lei Zhang2018-08-281-1/+5
| | | | | | | | BUG=chromium:877888 Change-Id: Ie4437228dfc32619ce5feb1769ba1644a4ea8ca2 Reviewed-on: https://chromium-review.googlesource.com/1192963 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
* Set new ARM64 context flagsJoshua Peraza2018-08-061-9/+1
| | | | | | Change-Id: I4749459ec37b076b226fa734824380a7254f1064 Reviewed-on: https://chromium-review.googlesource.com/1163826 Reviewed-by: Mark Mentovai <mark@chromium.org>
* processor: Fix memory leak after 88d8114fJoshua Peraza2018-08-021-0/+4
| | | | | | | | | This was mistakenly deleted in https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1155938/12 Change-Id: I95e5d84b36e2f89a7a364ee278ccb128b7d34b50 Reviewed-on: https://chromium-review.googlesource.com/1159525 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Define and use a a new MDRawContextARM64Joshua Peraza2018-08-0110-33/+222
| | | | | | | | | | | 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>
* Rename MDRawContextARM64 and its context flagsJoshua Peraza2018-08-018-40/+40
| | | | | | | | | | 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>
* iOS: disable using CFI in stackwalkingJoshua Peraza2018-07-062-6/+15
| | | | | | | | | | | dump_syms produces incomplete CFI info on iOS because it doesn't support converting compact unwind to Breakpad symbols. Attempting to use incomplete CFI can result in infinte stack traces. Bug: google-breakpad:764 Change-Id: Id042aa515d17928cb5503a79038607d95c56238d Reviewed-on: https://chromium-review.googlesource.com/1128252 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* Ignore duplicate module list entries.Lei Zhang2018-06-281-0/+16
| | | | | | | | BUG=chromium:838322 Change-Id: Ie19c1a39e49332b650a618758f925b127026bddf Reviewed-on: https://chromium-review.googlesource.com/1115437 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
* Only do Android-specific adjustments for Android minidumps.Lei Zhang2018-06-281-4/+8
| | | | | | Change-Id: I33b1f988766f79b473127c4b56b1c81021b89631 Reviewed-on: https://chromium-review.googlesource.com/1115436 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
* Refactor code out of MinidumpModuleList::Read().Lei Zhang2018-06-281-48/+55
| | | | | | | | Add a StoreRange() helper method and an IsDevAshmem() helper function. Change-Id: Iaec9dee1e08bd0155f1c33cfe9af722b0dcaef31 Reviewed-on: https://chromium-review.googlesource.com/1114188 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
* Add an anonymous namespace in minidump.cc.Lei Zhang2018-06-281-41/+32
| | | | | | Change-Id: I1b064013b5d6253fe887245ebda7a861688d3cd6 Reviewed-on: https://chromium-review.googlesource.com/1114089 Reviewed-by: Will Harris <wfh@chromium.org>
* Add SEVERITY_CRITICAL to logging, that would help to suppress logs from the ↵Max Moroz2018-05-292-1/+14
| | | | | | | | | | | fuzz target. Follow-up CL will be https://chromium-review.googlesource.com/c/chromium/src/+/1073395 Bug: 846721 Change-Id: Ie9e6dc5c5ef6b035c414fbdc4f711f995b52f4d7 Reviewed-on: https://chromium-review.googlesource.com/1073394 Reviewed-by: Will Harris <wfh@chromium.org>
* Read Linux si_code in minidump_processor.Lei Zhang2018-04-131-4/+105
| | | | | | | | For common signals: SIGILL, SIGFPE, SIGSEGV, and SIGBUS. Change-Id: I80048f70445c3fa6accd548704c5700b3bed12a4 Reviewed-on: https://chromium-review.googlesource.com/1012589 Reviewed-by: Robert Sesek <rsesek@chromium.org>
* Allow minidump_dump to print module lists that would normally be rejectedTed Mielczarek2018-03-121-0/+3
| | | | | | | | | | | | | | | | | for being too long. We've seen some minidumps that fail to process because they contain a ridiculous number of modules (usually due to something leaking shm mappings, it looks like). They're annoying to investigate because even minidump_dump fails to load and print the module list. This patch makes minidump_dump effectively remove the limit on the number of modules it will load, so inspecting the dump by hand is possible. R=vapier@chromium.org Change-Id: I7a55387ca4aaad8664cd4d2651052da989366027 Reviewed-on: https://chromium-review.googlesource.com/957130 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Make breakpad build with -Wimplicit-fallthrough (on linux)Nico Weber2018-01-312-1/+19
| | | | | | | | | | | Fixes a bug where MD_EXCEPTION_CODE_MAC_PPC_ALTIVEC_ASSIST would unintentionally get two reason strings appended. Bug: 177475 Change-Id: I4957268328a242c7c75bbff8add98e9a48ba83ad Reviewed-on: https://chromium-review.googlesource.com/895705 Reviewed-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org>
* Make iterator string types match map container string typesMike Wittman2017-12-011-2/+2
| | | | | | | | | Fixes a compilation error when ::string != std::string. Bug: Change-Id: Ifa782da65dd08973de1fc4215f658c798ae5160b Reviewed-on: https://chromium-review.googlesource.com/802324 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Add optional field indicating multiple symbols at an addressMike Wittman2017-11-294-73/+190
| | | | | | | | | | | | | | | | | | 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>
* Provide helper wrappers for basename(3) and dirname(3)Tobias Sargeant2017-10-182-2/+4
| | | | | | | | | | This hides the need to provide mutable C strings, and unifies existing basename calls and variations in a single location. Change-Id: Idfb449c47b1421f1a751efc3d7404f15f8b369ca Reviewed-on: https://chromium-review.googlesource.com/725731 Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Add -s flag to microdump_stackwalk for dumping stack contents.Tobias Sargeant2017-10-174-27/+29
| | | | | | | | | | | | | | | Note that the current MicrodumpProcessor::Process implementation has a bug due to the fact that it creates a local Microdump instance, and then holds onto a pointer to the object returned by microdump.GetMemory() which is destroyed when microdump goes out of scope. This CL fixes the crash by making Microdump outlive MicrodumpProcessor, which is the same pattern that Minidump/MinidumpProcessor uses. Bug: google-breakpad:748 Change-Id: I554b46d309649cf404523722bd9ee39e17a10139 Reviewed-on: https://chromium-review.googlesource.com/720809 Reviewed-by: Primiano Tucci <primiano@chromium.org> Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* Convert {mini|micro}dump_stackwalk argument parsing to getopt.Tobias Sargeant2017-10-162-105/+131
| | | | | | | Bug: google-breakpad:748 Change-Id: I70b16ba6456df0be038d6c7170eb22b093fdc65d Reviewed-on: https://chromium-review.googlesource.com/718756 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Fix minidump_dump_test after 6d0287851fabMark Mentovai2017-10-051-1/+0
| | | | | | Change-Id: I9957f27cd134f862b9831e4b1d90f8a014eb37b6 Reviewed-on: https://chromium-review.googlesource.com/701740 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Dump Crashpad extension structures in minidump_dumpMark Mentovai2017-09-272-16/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | This is currently mostly useful to expose the annotations that Crashpad stores in minidumps. Example output: MDRawCrashpadInfo version = 1 report_id = 01234567-89ab-cdef-0123-456789abcdef client_id = fedcba98-7654-3210-fedc-ba9876543210 simple_annotations["channel"] = canary simple_annotations["plat"] = OS X simple_annotations["prod"] = Chrome_Mac simple_annotations["ver"] = 59.0.3069.0 module_list[0].minidump_module_list_index = 0 module_list[0].version = 1 module_list[0].simple_annotations["ptype"] = crashpad-handler module_list[1].minidump_module_list_index = 28 module_list[1].version = 1 module_list[1].list_annotations[0] = abort() called Change-Id: I00ba291f93ea3a37fc3754c651b3ccc542e5b8b2 Reviewed-on: https://chromium-review.googlesource.com/688416 Reviewed-by: Robert Sesek <rsesek@chromium.org>
* Fix MSVC build on 64-bitOrgad Shaneh2017-09-252-9/+9
| | | | | | | | | | | Mostly int<->size_t implicit conversions. Warning 4366 (The result of the unary '&' operator may be unaligned) appears in minidump.cc:907, but I don't know why. It looks aligned to me. Change-Id: I641942adc324f8f9832b20662083dc83498688a8 Reviewed-on: https://chromium-review.googlesource.com/637390 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Fix googletest/googlemock buildMark Mentovai2017-09-191-2/+2
| | | | | | | | | | | | | | 1. testing.gyp is a gyp file, not a gypi file. It is only referenced in “dependencies” sections. The gypi extension is used for files that are included by an “includes” section. 2. Update paths in testing.gyp to reflect the real locations of googletest and googlemock following their merge into a single repository. Change-Id: If9c356d93aa5ffda54af46fbed648baa2274dac6 Reviewed-on: https://chromium-review.googlesource.com/673404 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Increase the maximum number of modules allowed in minidumps.Tobias Sargeant2017-09-011-3/+3
| | | | | | | Bug: google-breakpad:743 Change-Id: I2e40b5cc36c012c18a1c4637634fb139b0d8e14d Reviewed-on: https://chromium-review.googlesource.com/647886 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Fix memory leak in ppc64 stackwalkerTobias Sargeant2017-08-301-2/+3
| | | | | | | | BUG=757166 Change-Id: I967a6903332b9c3d16b583f7fa4d3c9c44c2f729 Reviewed-on: https://chromium-review.googlesource.com/643267 Reviewed-by: Leonard Mosescu <mosescu@chromium.org>
* Add crash reason extraction to microdump processorTobias Sargeant2017-08-214-1/+1453
| | | | | | | | BUG=754715 Change-Id: I00fe62ed06dbbab4c8f6c416d56e2d444be11571 Reviewed-on: https://chromium-review.googlesource.com/621307 Reviewed-by: Robert Sesek <rsesek@chromium.org>
* Fix memory leak in ppc stackwalkerTobias Sargeant2017-08-181-2/+3
| | | | | | | | BUG=756317 Change-Id: Id096372e5a0d1e7c70e95304b1f0c181f57d3882 Reviewed-on: https://chromium-review.googlesource.com/619126 Reviewed-by: Leonard Mosescu <mosescu@chromium.org>
* Increase maximum number of regions for minidump_stackwalk.Lars Volker2017-07-281-1/+3
| | | | | | | | | | Change I361d8812df7b2977fe2630289059d31c3c9a4cc3 increased the maximum number of threads for minidump_stackwalk. This change also increases the maximum number of regions. Change-Id: I61efd4453df8809bd9cd657546d1d6727cd10281 Reviewed-on: https://chromium-review.googlesource.com/588384 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Handle very large stack tracesLeonard Mosescu2017-07-1212-78/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main motivation for this change is to handle very large stack traces, normally the result of infinite recursion. This part is actually fairly simple, relaxing a few self-imposed limits on how many frames we can unwind and the max size for stack memory. Relaxing these limits requires stricter and more consistent checks for stack unwinding. There are a number of unwinding invariants that apply to all the platforms: 1. stack pointer (and frame pointer) must be within the stack memory (frame pointer, if preset, must point to the right frame too) 2. unwinding must monotonically increase SP (except for the first frame unwind, this must be a strict increase) 3. Instruction pointer (return address) must point to a valid location 4. stack pointer (and frame pointer) must be appropriately aligned This change is focused on 2), which is enough to guarantee that the unwinding doesn't get stuck in an infinite loop. 1) is implicitly validated part of accessing the stack memory (explicit checks might be nice though). 4) is ABI specific and while it may be valuable in catching suspicious frames is not in the scope of this change. 3) is also an interesting check but thanks to just-in-time compilation it's more complex than just calling StackWalker::InstructionAddressSeemsValid() and we don't want to drop parts of the callstack due to an overly conservative check. Bug: chromium:735989 Change-Id: I9aaba77c7fd028942d77c87d51b5e6f94e136ddd Reviewed-on: https://chromium-review.googlesource.com/563771 Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* A couple of minor fixesLeonard Mosescu2017-07-111-3/+3
| | | | | | | | | | | | | | | | 1. Fixing ExceptionHandlerTest.FirstChanceHandlerRuns: exit() is not an async-signal-safe function (http://man7.org/linux/man-pages/man7/signal-safety.7.html) 2. Fixing entry point signature in minidump_dump Changed "const char* argv[]" to "char* argv[]" to match the standard entry point signature 3. Updating .gitignore to exclude unit test artifacts Change-Id: I9662898d0bd97769621fb6476a720105821c60f0 Reviewed-on: https://chromium-review.googlesource.com/562356 Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Ivan Penkov <ivanpe@chromium.org> Reviewed-by: Joshua Peraza <jperaza@chromium.org>
* Increase maximum number of threads for minidump_stackwalk.Lars Volker2017-03-281-0/+4
| | | | | | | | BUG= Change-Id: I361d8812df7b2977fe2630289059d31c3c9a4cc3 Reviewed-on: https://chromium-review.googlesource.com/459010 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* minidump_dump: fix up init pathsMike Frysinger2017-03-252-3/+5
| | | | | | | | | | Fix some build & test failures in the previous minidump_dump code. BUG=chromium:598947 Change-Id: Ia8fce453265167368de96747a8a92af930e78245 Reviewed-on: https://chromium-review.googlesource.com/458881 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* minidump_dump: dump stack memory like hexdumpMike Frysinger2017-03-242-13/+82
| | | | | | | | | | | | | | | The current stack output is one line byte string which is not easy for humans to parse. Extend the print mode to support a hexdump-like view and switch to that by default. Now we get something like: Stack 00000000 20 67 7b 53 94 7f 00 00 01 00 00 00 00 00 00 00 | g{S...........| 00000010 00 70 c4 44 9a 25 00 00 08 65 7a 53 94 7f 00 00 |.p.D.%...ezS...| BUG=chromium:598947 Change-Id: I868e1cf4faa435a14c5f1c35f94a5db4a49b6a6d Reviewed-on: https://chromium-review.googlesource.com/404008 Reviewed-by: Mark Mentovai <mark@chromium.org>
* minidump_dump: add proper cli processingMike Frysinger2017-03-241-8/+53
| | | | | | | | | | | | In preparation for adding more flexibility to this tool, add a proper parser for the command line flags. This uses the style as seen in other breakpad tools. BUG=chromium:598947 Change-Id: I95495e6ca7093be34d0d426f98a6c22880ff24a3 Reviewed-on: https://chromium-review.googlesource.com/457019 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Sanity check frame pointer while stackwalkingJoshua Peraza2017-03-222-1/+8
| | | | | | | | BUG= Change-Id: Ib9b0fd5ba7f829f8be8cf856ab371c6540279ee5 Reviewed-on: https://chromium-review.googlesource.com/458526 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* dump_context: arm: name the registers in the dump outputMike Frysinger2017-03-181-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current ARM minidump_dump output makes people remember or look up how registers are mapped in the ISA. Let's use human friendly names instead so they don't have to. Currently it looks like: MDRawContextARM context_flags = 0x40000006 iregs[ 0] = 0x3c48b000 iregs[ 1] = 0x3 iregs[ 2] = 0x20 iregs[ 3] = 0x0 iregs[ 4] = 0x1c iregs[ 5] = 0x3c48b000 iregs[ 6] = 0x20 iregs[ 7] = 0x3c48b04c iregs[ 8] = 0x39100611 iregs[ 9] = 0x1c iregs[10] = 0x0 iregs[11] = 0xbe61c200 iregs[12] = 0xfb9c1fec iregs[13] = 0xbe61bd28 iregs[14] = 0x39e19b1c iregs[15] = 0x357dd74c cpsr = 0x680b0010 float_save.fpscr = 0x0 Now it looks like: MDRawContextARM context_flags = 0x40000006 r0 = 0x3c48b000 r1 = 0x3 r2 = 0x20 r3 = 0x0 r4 = 0x1c r5 = 0x3c48b000 r6 = 0x20 r7 = 0x3c48b04c r8 = 0x39100611 r9 = 0x1c r10 = 0x0 r11 = 0xbe61c200 r12 = 0xfb9c1fec sp = 0xbe61bd28 lr = 0x39e19b1c pc = 0x357dd74c cpsr = 0x680b0010 float_save.fpscr = 0x0 BUG=chromium:665083 Change-Id: I46d87c4ff7303a7efcd60da1d0b67ae7a5465c8f Reviewed-on: https://chromium-review.googlesource.com/457197 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* [MIPS]: Don't terminate stackwalk when $sp value doesn't change between framesDragan Mladjenovic2017-03-163-7/+1
| | | | | | | | | Currently on MIPS we accidentally terminate stackwalk if $sp value doesn't change between frames which results in incomplete callchain terminated at the point of first tailcall encountered. Change-Id: I8f1ed1df958d8f0a9eb11fd7800062184d8f1ee2 Reviewed-on: https://chromium-review.googlesource.com/449755 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Fix segfault when interpreting bad debug_fileJoshua Peraza2017-03-081-1/+3
| | | | | | | | BUG=chromium:661037 Change-Id: Ia4da0bd9787c232a6a199cfdfccfbed60c2515c2 Reviewed-on: https://chromium-review.googlesource.com/450090 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
* Fix compile errors arising from compiling breakpad with clang.Tobias Sargeant2017-02-171-16/+17
| | | | | | | | | | | | | | | | | | | | | These compile errors occur when building the check target with: CXX=clang++-3.8 CXXFLAGS="-Werror -Wconstant-conversion -g -O2 -std=c++11" src/processor/stackwalker_mips.cc:60:9: error: comparison of constant 18446744073709551615 with expression of type 'bool' is always false [Werror,-Wtautological-constant-out-of-range-compare] > 0xffffffffffffffff) { ^ ~~~~~~~~~~~~~~~~~~ src/processor/stackwalker_mips.cc:68:66: error: comparison of constant 4294967295 with expression of type 'bool' is always false [-Werror,-Wtautological-constant-out-of-range-compare] if ((memory_ && memory_->GetBase() + memory_->GetSize() - 1) > 0xffffffff) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~ Change-Id: I29eed8f4a67b9feeb274aa1fc6c79a019135e8d6 Reviewed-on: https://chromium-review.googlesource.com/438445 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* processor: drop set-but-unused variableMike Frysinger2017-02-121-4/+2
| | | | | | Change-Id: Idf3fe363c76734caa3e6a6cc20a53fd1d661188d Reviewed-on: https://chromium-review.googlesource.com/438564 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Fixed leak of unloaded module lists.Joshua Peraza2017-02-072-2/+6
| | | | | | | | BUG= Change-Id: I6d03820082f793a2eac3c3c2abd184b4acf66aa4 Reviewed-on: https://chromium-review.googlesource.com/438755 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* Revert "Several fixes for broken Mac build"Roman Margold2017-02-012-4/+4
| | | | This reverts commit 5c521532fc0a1b65f42c0d61d2da206eadf318b8.
* Several fixes for broken Mac buildRoman Margold2017-02-012-4/+4
|