)]}'
{
  "log": [
    {
      "commit": "83203748aeae3df9e61a4efe62ac7c94ddfe1bbe",
      "tree": "a1f3b7da03486e2258c9449ab7ab817f3723801e",
      "parents": [
        "57ce4032f5bf1bc1787b729f72e1d233aa3ac6f0"
      ],
      "author": {
        "name": "Snehasish Kumar",
        "email": "snehasishk@google.com",
        "time": "Mon Dec 14 18:26:33 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Tue Dec 15 17:14:09 2020 +0000"
      },
      "message": "Add a test to check debug information for split functions.\n\nWith optimizations such as -fsplit-machine-functions (clang) and\n-freorder-blocks-and-partition (gcc), the function body may be\ndiscontiguous in the binary. Control flow between the parts are routed\nusing jumps. This test ensures that breakpad consumes debuginfo\ngenerated by the -fsplit-machine-functions optimization and the line\ntable for the cold function part is correct.\n\nChange-Id: I44d59704864ee940dd429c5249d5d793fe081d6a\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2591951\nReviewed-by: Sterling Augustine \u003csaugustine@google.com\u003e\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "57ce4032f5bf1bc1787b729f72e1d233aa3ac6f0",
      "tree": "f52635b59226a9597e1460022bef5ea440319d04",
      "parents": [
        "ebc55673708b4bbfd360ebc143ba3452ac0ec113"
      ],
      "author": {
        "name": "Snehasish Kumar",
        "email": "snehasishk@google.com",
        "time": "Fri Dec 11 12:53:50 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Dec 11 21:39:03 2020 +0000"
      },
      "message": "Add dwarf2reader unit test to run with make check.\n\nThis change updates Makefile.am to include the dwarf2reader lineinfo\nunittest to the suite of tests run when make check is invoked. All the\nmanual changes are limited to the Makefile.am file. The remaining files\ncontain changes generated by automake.\n\nChange-Id: Ib078391b44235ce430a224713512637ce8e90a36\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2587266\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "ebc55673708b4bbfd360ebc143ba3452ac0ec113",
      "tree": "b61ef85f4799eedcdbaa4397b1c8f02c5c2d0f09",
      "parents": [
        "78f7ae495bc147e97a58e8158072fd35fdd99419"
      ],
      "author": {
        "name": "Snehasish Kumar",
        "email": "snehasishk@google.com",
        "time": "Thu Dec 10 10:46:35 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Dec 10 19:58:43 2020 +0000"
      },
      "message": "Fix a typo in lineinfo unittest.cc\n\nWhen initializing the LineReader, the size passed should be the sizeof\nthe dwarf4 line program.\n\nChange-Id: I67e6fa404d4fa8851e4958013a35a061fe169156\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2585345\nReviewed-by: Sterling Augustine \u003csaugustine@google.com\u003e\n"
    },
    {
      "commit": "78f7ae495bc147e97a58e8158072fd35fdd99419",
      "tree": "3762d3b0c52f581af6962e6e710c551ed61752c3",
      "parents": [
        "bd4a28c08b9d97bc4910f527f3c3ae232fdc5747"
      ],
      "author": {
        "name": "Ludovic Guegan",
        "email": "ludovic.guegan@gmail.com",
        "time": "Tue Nov 24 08:48:27 2020 +0100"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Nov 24 08:18:56 2020 +0000"
      },
      "message": "pid2md: generate a minidump from a running process\n\nOn Linux, this tool generates a minidump for given process. It requires\nthe permission to trace the process and access its /proc directory. This\nis useful when a defective behavior of a process does not lead to a\ncrash. For example, it can be used by a watchdog or if a process does\nnot correctly respond to a termination request.\n\nChange-Id: Iab501e42c064a537aea62831c471e395ff697186\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2539920\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "bd4a28c08b9d97bc4910f527f3c3ae232fdc5747",
      "tree": "7feb597ecd69d2a2220dd06ebe8a5522bf3e6172",
      "parents": [
        "e3d485f73f5836fdd6fb287ab96973c4f63175e1"
      ],
      "author": {
        "name": "Ludovic Guegan",
        "email": "ludovic.guegan@gmail.com",
        "time": "Mon Nov 23 22:58:05 2020 +0100"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Nov 23 23:15:15 2020 +0000"
      },
      "message": "core_handler: coredump handler to produce minidump\n\nOn Linux, it is possible to register a core handler via\n/proc/sys/kernel/core_pattern. Doing so invokes the core handler when\na process crash. The core_handler uses /proc/\u003cpid\u003e/mem to access the\nprocess memory. This way it is not necessary to process the full\ncoredump which takes time and consumes memory.\n\nIn order to profit from this core handler, for example, one can\nintegrate dump_syms into Yocto and generate an archive with the\nbreakpad symbols of all the binaries in the rootfs. Minidumps are\nespecially useful on embedded systems since they are lightweight and\nprovide contextual information.\n\nChange-Id: I9298d81159029cefb81c915831db54884310ad05\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2536917\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "e3d485f73f5836fdd6fb287ab96973c4f63175e1",
      "tree": "173b2341748b30dcf23911c31e2af40d47eed756",
      "parents": [
        "78180df608bf0d0181fd1b096ec98d1354b640d0"
      ],
      "author": {
        "name": "Ludovic Guegan",
        "email": "ludovic.guegan@gmail.com",
        "time": "Fri Nov 13 15:57:57 2020 +0100"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Nov 13 17:15:14 2020 +0000"
      },
      "message": "Dwarf5ReadRangeList: remove duplicated declaration\n\nBug: Test Dwarf5ReadRangeList does not compile with GCC 10 because of\nChange-Id: Ibeea82084bbf4c1d0e760a7bba14109401cf3639\nduplicated declaration.\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2536913\nReviewed-by: Sterling Augustine \u003csaugustine@google.com\u003e\n"
    },
    {
      "commit": "78180df608bf0d0181fd1b096ec98d1354b640d0",
      "tree": "1e162114a4f1a5524932ea3ea2653f138e99e2f0",
      "parents": [
        "a9afca9c06af144ff0cd89f80dc2611dc72f10b3"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Mon Oct 12 09:35:39 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Mon Oct 12 18:09:01 2020 +0000"
      },
      "message": "Use size_t to fix the build on mac.\n\nChange-Id: Id145bdb711eea9ee33bcd9f258ff3befd6e7e86b\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2465487\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "a9afca9c06af144ff0cd89f80dc2611dc72f10b3",
      "tree": "08ffe00f77fa7ae8052037cb9fe1bbb90556d3a6",
      "parents": [
        "9ecccc5512f51982700c5ec8827de4ca7e9f0462"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Oct 09 09:56:29 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Oct 09 16:56:59 2020 +0000"
      },
      "message": "Support miscelaneous dwarf5 forms.\n\nMost of this is simple, \"Read the form, get the data, then\ncall ProcessAttribute.\"\n\nHandling DW_FORM_implcit_const is a little trickier, as it\nis the only form that stores its value inline in the abbrev\ntable itself. Add a test for that.\n\nPrint errors for supplementary object files.\n\nChange-Id: I0999b039848bded1891998a866e5059acd538a09\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2446627\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "9ecccc5512f51982700c5ec8827de4ca7e9f0462",
      "tree": "50b0302ff33706508717ebab166fa6b4035b0eeb",
      "parents": [
        "5c7535af7808b02de0c6670cf16086efe48ebd89"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Oct 02 11:14:49 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Oct 08 21:59:15 2020 +0000"
      },
      "message": "Implement dwarf5 range lists.\n\nThis is a big change. dwarf5 range lists are quite a bit more complicated\nthan dwarf 4 range lists, both in the contextual information required, and\nin their own representation and interpretation.\n\nThe big design choice here is how to pass the CU information all the\nway down to the reader. I chose a structure, because otherwise the\nparameter list gets very long and error prone (and has to be passed\ndown several levels). This structure could be made a parto of the CU\ncontext itself, or the range handler, so it wouldn\u0027t have to be\nseparately assembled at range-list read time, but both of those\nsolutions get even more invasive, and harder to follow.\n\nI\u0027ve tried to figure out how to break this into smaller changes, but it\naffects nearly everything that has to do with a compilation unit\u0027s\nown addresses and when decisions must be made about how to read them.\nDependency injection will do that to you.\n\nIt does add tests for range list reading, which did not exist before.\n\nChange-Id: I923b9a2c3379a0f52609bc05310097de5cbb7227\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2446635\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "5c7535af7808b02de0c6670cf16086efe48ebd89",
      "tree": "638558e9280c31f3056d31a30b45559a4ab98629",
      "parents": [
        "f6669d6df42686aea832762f701359a3f9bdc762"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Wed Oct 07 12:27:28 2020 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Wed Oct 07 19:33:38 2020 +0000"
      },
      "message": "amd64: reject frames with invalid rsp/rip\n\nCFI might compute invalid rsp/rip values if the values in the callee\nframe were corrupted, as in stack overflow. Rejecting the frame\ncomputed by CFI allows Breakpad to fall-back to scanning.\n\nBug: b/169611285\nChange-Id: Ifeb08ab5639932c0e23722a161d9d15403738019\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2456037\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "f6669d6df42686aea832762f701359a3f9bdc762",
      "tree": "83c626021a72d4838ce3d570963cad0864f30f77",
      "parents": [
        "2b936b06c12657b684f6c7276d6ae5a24cb48ab5"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Oct 02 07:44:24 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Oct 02 17:55:10 2020 +0000"
      },
      "message": "Revert \"Refactor rangelist handling to prepare for dwarf5 .debug_rngslist\"\n\nThis reverts commit 2b936b06c12657b684f6c7276d6ae5a24cb48ab5.\n\nAfter getting deep into the dwarf5 range reader, I realized that this\nshould be done a somewhat different way. So reverting in favor or\na better design, coming in a few minutes.\n\nChange-Id: Ie0b2846e70b3df1e637831e96ea69fe093f4e712\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2446011\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "2b936b06c12657b684f6c7276d6ae5a24cb48ab5",
      "tree": "d07a176763db1e44bbbde2c572c33f26ebae8ddc",
      "parents": [
        "9c4671f2e3a63c0f155d9b2511192d0b5fa7f760"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Sat Sep 26 16:48:02 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Mon Sep 28 17:56:12 2020 +0000"
      },
      "message": "Refactor rangelist handling to prepare for dwarf5 .debug_rngslist\n\nDwarf5 introduces a new .debug_rngslist section, to take the place\nof the Dwarf4 .debug_ranges. However, the dwarf version is CU-based,\nand not file-based, so there can be both sections, and which section\nthe CU needs isn\u0027t known until the dwarf parser encounters either\nDW_AT_ranges (dwarf 4 and lower) or DW_AT_rnglists_base (dwarf 5).\n\nThis change refactors the code around range lists and range list\nreaders to defer the decision of what section to parse until\nthe relevant attribute is found. It moves the range list section\nreader from the range-list handler itself (which doesn\u0027t know which\nsection it will use) to the CU context, and then lets the handler\nknow when it encounters DW_AT_ranges.\n\nI will add a reader for the new dwarf5 section, along with the code to\ninterpret the new section, and its forms and such in a subsequent patch.\n\nChange-Id: Ie92e4c9daa3f0acb98d7ef74f6b9c2065db849b1\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2433684\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "9c4671f2e3a63c0f155d9b2511192d0b5fa7f760",
      "tree": "83c626021a72d4838ce3d570963cad0864f30f77",
      "parents": [
        "bdac77a8018b7d54178451bd69f9e20dbe3b569f"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Sep 09 14:39:32 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Sep 09 22:07:06 2020 +0000"
      },
      "message": "Change JSON serialization error check.\n\n- Mac OS symupload used to check for errors in JSON serialization by\ninspecting the \"error\" out parameter of the serialization function. Now\nit checks the returned data for \"nil\".\n- Similar change for the HTTP request that\u0027s made in the same function.\n\nChange-Id: I86f50ef44e60ee119c302e0614b115a8d35e9b5b\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2390753\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "bdac77a8018b7d54178451bd69f9e20dbe3b569f",
      "tree": "c91c67a4f6042d4bb084955fa0f60f3675052b6c",
      "parents": [
        "5640e57f1f28472efdce2add14fd169b7e273037"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Sep 07 17:30:21 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Sep 08 00:16:33 2020 +0000"
      },
      "message": "file_id_unittest: avoid system()\n\nWe have API\u0027s for copying files \u0026 changing file modes, so there\u0027s\nno sense in using system() to run programs to do that.\n\nFor the strip call, do the minimal spawn+wait dance.  This avoids\nweird quoting string issues at least.\n\nChange-Id: Ibda117f243e886c0c7fcf8076fb8602b8d3ba42d\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2396558\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "5640e57f1f28472efdce2add14fd169b7e273037",
      "tree": "984fdd42f6a1dd98ef24ebaff420564c6ea01b00",
      "parents": [
        "c6d49c47a0855f6d1283771b56e1f2a7ab2599b0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Sep 07 17:29:40 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Sep 07 23:03:28 2020 +0000"
      },
      "message": "CopyFile: add a C++ API\n\nHaving to swizzle to C strings all the time is a bit annoying.\n\nChange-Id: I0b80877706e32e873e567685f6b471745da70311\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2396557\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "c6d49c47a0855f6d1283771b56e1f2a7ab2599b0",
      "tree": "35d3c4fe1e984bd3f31bbfa1c14e031cff9eef3e",
      "parents": [
        "039c4c9bbb377c950a6d2cabfda8ff0ec59e7442"
      ],
      "author": {
        "name": "Sim Sun",
        "email": "sunsj1231@gmail.com",
        "time": "Fri Sep 04 17:59:14 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Sep 05 02:52:36 2020 +0000"
      },
      "message": "linux: Fix leak when the offset of memory_mapped_file is greater than 0\n\nBreakpad should only map the file content after the offset instead of\nthe whole file. Mapping the whole file while only unmap \u0027file_len - offset\u0027\nwould leak \u0027offset\u0027 bytes of mapping in virtual memory.\n\nChange-Id: I10be4f929d969703a6a02c1f709d2a4ca86a6e9e\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2393468\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "039c4c9bbb377c950a6d2cabfda8ff0ec59e7442",
      "tree": "fdb09cff839ac0bd95f3a0b3c96f7b42eadfa9f2",
      "parents": [
        "9c38ab7c67e5b199e6b7ffafa27b7f463f06dedd"
      ],
      "author": {
        "name": "Sim Sun",
        "email": "sunsj1231@gmail.com",
        "time": "Mon Aug 31 11:30:12 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Aug 31 18:46:34 2020 +0000"
      },
      "message": "Add a .clang-format file to give us local control over Chromium style.\n\nBased on the. `clang-format` from chromium project\nhttps://chromium.googlesource.com/chromium/src/+/HEAD/.clang-format\n\nChange-Id: I9df4f5c917521b02b0cdc911f15c12102758f7e1\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2384071\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "9c38ab7c67e5b199e6b7ffafa27b7f463f06dedd",
      "tree": "5f6081b3dc47eef23accaa325ff1aa0b5c043c36",
      "parents": [
        "62d927241962ad40f3bca9fa3841edf9d7a56b5f"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Aug 14 18:32:45 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Mon Aug 17 22:31:50 2020 +0000"
      },
      "message": "Add native symbol uploads to Mac OS symupload tool.\n\n- sym-upload-v2 protocol only.\n- Supports elf, dwp, debug_only, macho, dsym, pe, and pdb (with the classic mode being called \u0027breakpad\u0027).\n\nChange-Id: I68c0065aec3a7ffe29b364dd9e2e1dbdb58e3e5d\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2357528\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "62d927241962ad40f3bca9fa3841edf9d7a56b5f",
      "tree": "b4015792a6ae8bfe841acfea0a6821fcc643afcc",
      "parents": [
        "087795c851d269a49baf6cd0fb886c2990729f44"
      ],
      "author": {
        "name": "Sim Sun",
        "email": "sunsj1231@gmail.com",
        "time": "Fri Aug 14 21:36:30 2020 -0700"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Sat Aug 15 05:28:45 2020 +0000"
      },
      "message": "linux: Fix segfault when there is no section header in ELF file\n\nSome vendor library doesn\u0027t contain the section header. It causes\nsegmentation fault in `FindElfClassSection`.\n\n\u003e e_shoff:\n\u003e This member holds the section header table\u0027s file offset in bytes.\n\u003e If the file has no section header table this member holds zero.\n\nChange-Id: Id98d6ff3bd16af4541deb5a55a8fad2fa74eda23\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2354427\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "087795c851d269a49baf6cd0fb886c2990729f44",
      "tree": "b973f59e426ee4ebd14835a1eb493db106e4ec60",
      "parents": [
        "014e84252cb37f897f8252d0557d6cb53ada594a"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Aug 14 10:25:39 2020 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Aug 14 17:26:39 2020 +0000"
      },
      "message": "processor: subtract 1 from return pointers while scanning\n\nEach stackwalker subtracts the size of an instruction\nfrom a frame\u0027s instruction pointer to determine which\ninstruction it was executing. This should also be done\nfor pointers examined while scanning for likely return\naddresses to ensure that those pointers don\u0027t point\npast the end of functions.\n\nBug: b/118634446\nChange-Id: I043e3f1e51a2c0a3d99ed14bf18ea64dc98add44\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2356649\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "014e84252cb37f897f8252d0557d6cb53ada594a",
      "tree": "0bb60a6da27dea61c80fcf4f854bc7802000bd65",
      "parents": [
        "e3a62dc5502dec6ab451061769d7efaf5b7ffba8"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Aug 12 14:54:12 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Aug 12 22:12:51 2020 +0000"
      },
      "message": "Escape more characters in Mac OS sym-upload-v2 debug_file strings.\n\n- Attempt to escape all characters which must be escaped in a URL or JSON string, for debug_file, since almost all of these are legal filename characters.\n\nChange-Id: Ic7a9c1aef00093d164683be7db84f4f282f45f7a\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2339706\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "e3a62dc5502dec6ab451061769d7efaf5b7ffba8",
      "tree": "b7f00ccb4fabab380b7332c8376fbe89cfa8304b",
      "parents": [
        "3d8daa2c7458c8e411e691ac6f0d503418ef6231"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Thu Aug 06 14:57:29 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Thu Aug 06 22:00:38 2020 +0000"
      },
      "message": "[Mac]Exit with unique status in symupload when file already exists.\n\n- This change should also be made for other platforms.\n- This allows users to tell the difference between upload succeeding, failing, and being skipped because the file already exists on server.\n\nChange-Id: I0b404da7aac29e0a16346bbd816ad1c815985bce\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2341373\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "3d8daa2c7458c8e411e691ac6f0d503418ef6231",
      "tree": "527c1cc9cec5920ce709102e4be226381df00c1c",
      "parents": [
        "a6218eb66d7b4880825168a83e66bfea746908a6"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Aug 05 11:49:07 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Aug 05 19:42:38 2020 +0000"
      },
      "message": "Fix sym-upload-v2 whitespace in filenames.\n\n- Checking symbol status would fail for files whose names contained spaces, because the file name was being put in the URL unescaped.\n- Now the filename is escaped before being put in URL when checking symbol status.\n\nChange-Id: I3b989d877e0fd9aef57ec13bdbbb6c3dacb6a9e2\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2339782\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\n"
    },
    {
      "commit": "a6218eb66d7b4880825168a83e66bfea746908a6",
      "tree": "349e8a723f6af8cda6e1231d5444d205b4d8b6c8",
      "parents": [
        "a740aa2625df2c0ed21ed7118bd8ab5faec375b8"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Jul 31 14:31:52 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Jul 31 21:47:18 2020 +0000"
      },
      "message": "Fix v1 symupload protocol in Mac client.\n\n- A printf\u0027s arguments got broken in refactor for v2 protocol (my fault).\n\nChange-Id: I8018e25f55b18fd47038d28a4ff0ac3be3d2caae\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2333387\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "a740aa2625df2c0ed21ed7118bd8ab5faec375b8",
      "tree": "dd0597c90bdac583d8bc26c1898b01757120f68f",
      "parents": [
        "28d7cbdd426311c1b13b648a370212f130d8dff0"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Jul 29 16:28:25 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Jul 29 23:30:33 2020 +0000"
      },
      "message": "Fix Mac symupload non-XCode builds.\n\nChange-Id: Ic4924032faba83fc14f62feaac9a97bbfd0971ed\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2324311\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "28d7cbdd426311c1b13b648a370212f130d8dff0",
      "tree": "c53ae16a87fbabc29b3ccdf1a3925bdcc79cc35d",
      "parents": [
        "7d65240249584aed1c123e286c8468a7d824e9d0"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Mon Jul 27 13:54:54 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Mon Jul 27 21:13:28 2020 +0000"
      },
      "message": "Check for tombstone as very first entry in the line table.\n\nThis is a folow up to\nhttps://chromium-review.googlesource.com/c/breakpad/breakpad/+/2317730\n\nand handles the additional case where there are no entries in the line\ntable at all.\n\nChange-Id: I100c5d0891e7dc7088d58da11240d7df3a6c48d9\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2321300\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "7d65240249584aed1c123e286c8468a7d824e9d0",
      "tree": "ea8c13528d67845901413fc59b8459dca9914afd",
      "parents": [
        "114336881a21459d2c7fab2de5e010b5faf55e55"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Jul 24 14:11:05 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Jul 24 21:34:14 2020 +0000"
      },
      "message": "Properly handle new tombstone values that now appear as a result of the llvm change described at https://reviews.llvm.org/D81784.\n\nChange-Id: I79dc5a72b651aa057104cd42b4773391df68125b\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2317730\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nReviewed-by: Nelson Billing \u003cnbilling@google.com\u003e\n"
    },
    {
      "commit": "114336881a21459d2c7fab2de5e010b5faf55e55",
      "tree": "2c284a5e6e7f2d1cba5596505aab47f77646246c",
      "parents": [
        "428a01e8dea2555e037570a0b854137029a78cbf"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Jul 22 14:44:06 2020 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Jul 24 00:20:34 2020 +0000"
      },
      "message": "Port new symbol API to symupload on Mac.\n\n- See documentation in Linux implementation commit: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1422400.\n\nChange-Id: If3ff256e63f2db3ac9c0be78cfc17754d532cb88\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1497653\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\n"
    },
    {
      "commit": "428a01e8dea2555e037570a0b854137029a78cbf",
      "tree": "03d90b5f12ceec5591127415b06efc507e19d10b",
      "parents": [
        "2e6f8deac0009ab5c561e71c221c7bfbf7a225ec"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Jul 16 17:53:35 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Jul 17 01:32:59 2020 +0000"
      },
      "message": "There are source files with APSL-2.0 as well.\n\nChange-Id: I3640ee9374732e9e308c6264c702c9af942e85b3\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2303999\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "2e6f8deac0009ab5c561e71c221c7bfbf7a225ec",
      "tree": "da830d329b223b5e5ee1bc8caef8e927e995bbaf",
      "parents": [
        "678c4c580be2014a73849a2a6b5cd4f6b77390aa"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Jul 16 16:29:57 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Jul 16 23:45:01 2020 +0000"
      },
      "message": "Add 3-clause BSD license text as well.\n\nChange-Id: I080a02c48b85bfe3ed32a3a2c9f17ad4061b2bde\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2304010\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "678c4c580be2014a73849a2a6b5cd4f6b77390aa",
      "tree": "b39f95b409c41b7e6e98c86b3234bf0f093a7881",
      "parents": [
        "721108fd54d961e54afd4e4da2e9a29838389990"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Jul 16 16:09:06 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Jul 16 23:17:42 2020 +0000"
      },
      "message": "Include libunwind license in LICENSE file.\n\nChange-Id: I53fa64deaf67746720c7baa7e22b3d7121076166\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2304009\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "721108fd54d961e54afd4e4da2e9a29838389990",
      "tree": "b3281768e1f51c3070f709e6ddb0a45d35e58841",
      "parents": [
        "09b056975dacd1f0f815ad820b6dc9913b0118a3"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jul 15 02:20:48 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jul 16 03:04:43 2020 +0000"
      },
      "message": "fix NDEBUG breakage with new dwarf5 code\n\nThese fields are only used when NDEBUG is not defined.  We get build\nfailures with the current code like:\nsrc/common/dwarf/dwarf2reader.h:181:12: error: private field \u0027string_buffer_length_\u0027 is not used [-Werror,-Wunused-private-field]\n  uint64_t string_buffer_length_;\n\nChange-Id: I01d6e29d31d50e29ed3736e7197e70455724ae48\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2299022\nReviewed-by: Sterling Augustine \u003csaugustine@google.com\u003e\n"
    },
    {
      "commit": "09b056975dacd1f0f815ad820b6dc9913b0118a3",
      "tree": "67ba67549b44e6d98b9ff2dfb3e0396e0a252b96",
      "parents": [
        "a7410275336a40323bac607a3aac97cc2a1fc491"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jun 23 18:55:43 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jul 15 06:20:02 2020 +0000"
      },
      "message": "fix pointer style to match the style guide\n\nWe do this in a lot of places, but we\u0027re inconsistent.\nNormalize the code to the Google C++ style guide.\n\nChange-Id: Ic2aceab661ce8f6b993dda21b1cdf5d2198dcbbf\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2262932\nReviewed-by: Sterling Augustine \u003csaugustine@google.com\u003e\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "a7410275336a40323bac607a3aac97cc2a1fc491",
      "tree": "bb6735781d669611b130e9fe59dbfa9974e548d4",
      "parents": [
        "b6f36dd7757f5cdb460f7b2ccf4f646099a320af"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Tue Jun 30 13:59:15 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Tue Jul 14 00:46:58 2020 +0000"
      },
      "message": "Add support for dwarf5 line tables.\n\nChange-Id: I2c0cd0e7163502e52fbf0745b611befb2e219071\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2276193\nReviewed-by: Sterling Augustine \u003csaugustine@google.com\u003e\n"
    },
    {
      "commit": "b6f36dd7757f5cdb460f7b2ccf4f646099a320af",
      "tree": "2044f081ceabc560624471a73ea6eb80d65303e6",
      "parents": [
        "8efe0f1c3b45b79bab3046c0776283a2bdf6193f"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Jun 26 11:24:16 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Jun 26 18:32:51 2020 +0000"
      },
      "message": "Move GetSectionByName out of CompilationUnit.\n\nFor the upcoming Dwarf5 LineInfo changes, we will need to get\nseveral additional sections by name, but without a the Compilation\nUnit. This change prepares for that.\n\nChange-Id: I566855abb339a856110a2f7d243d3848fe2b3c18\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2268861\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "8efe0f1c3b45b79bab3046c0776283a2bdf6193f",
      "tree": "bcbd90467782fb0c0e6758414c92bc50c96008ef",
      "parents": [
        "72c118f4a6dfb954a80d2f2b9a1794e13b0a8ebd"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Jun 25 14:55:48 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Jun 25 21:56:34 2020 +0000"
      },
      "message": "Read dwarf5 compilation unit headers.\n\nChange-Id: Ia85b2fb7b3cb821ad353a0003223d8b8465e792d\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2265259\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "72c118f4a6dfb954a80d2f2b9a1794e13b0a8ebd",
      "tree": "51858f9201d6adec0e0c0aa263b642268a643e0a",
      "parents": [
        "feb2dca989399bc07d2ecf681a19b18af30e81a4"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Tue Jun 23 12:42:27 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Wed Jun 24 20:39:58 2020 +0000"
      },
      "message": "Add and handle various dwarf5 addrx forms.\n\nGiven the almost nonexistent direct dwarfreader tests, I think\nthe best way to test these dwarf5 additions will be to add a full\ndwarf5 compilation unit similar to the ones used incidentally in\nthe other tests. But I can\u0027t do that until enough dwarf5 is\ncorrectly implemented.\n\nChange-Id: I3418bda7212ae85c4b67232a2ab8fea9b9ca5d42\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2258838\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "feb2dca989399bc07d2ecf681a19b18af30e81a4",
      "tree": "01ad412d5a6d406959bf9763530f6b9026d1672f",
      "parents": [
        "2757a2c9c819fcae3784576aef0c8400c7ad06d7"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Mon Jun 22 16:38:16 2020 -0700"
      },
      "committer": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Mon Jun 22 23:39:36 2020 +0000"
      },
      "message": "Add and handle new dwarf5 string-related forms.\n\nAdding the new forms by type and processing should avoid\nthe problems with 0c0e24f709288a129d665ec27d6f089189318385,\nwhere new forms weren\u0027t handled in switch statements, breaking\nthe build.\n\nTesting this should follow the testing for DW_FORM_GNU_str_index,\nvery closely, but there doesn\u0027t appear to be any tests for that,\nor even DW_FORM_strp.\n\nChange-Id: I609d56b1dc879971bfef1070f063f8457fec6017\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2233839\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "2757a2c9c819fcae3784576aef0c8400c7ad06d7",
      "tree": "db3eb4400e3481586bfabec9075d3aebbfee8d1b",
      "parents": [
        "f2679262acfb576f72d464e999cdac0950f92afc"
      ],
      "author": {
        "name": "Michael Moss",
        "email": "mmoss@google.com",
        "time": "Thu Jun 04 23:28:44 2020 +0000"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Jun 05 01:31:45 2020 +0000"
      },
      "message": "Make symupload exit with an error code when command-line parsing fails.\n\nThis should address the issue where some Chrome builds were failing to\nupload symbols due to a bad command-line flag, but there was no\nindication of a problem, and no build failure, because symupload was\nexiting with a success code.\n\nBUG\u003d1091387\nR\u003dnbilling@google.com, wuwang@google.com\n\nChange-Id: I0d7f1a6d689ca5fd37be3abad4c5ebc97f108e50\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2231574\nReviewed-by: Nelson Billing \u003cnbilling@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "f2679262acfb576f72d464e999cdac0950f92afc",
      "tree": "6c537c634447b9d19cdd70d9dbccb1891c2f2c1f",
      "parents": [
        "2ffe116322aa4373d408a72b665fa7fe7a504d4a"
      ],
      "author": {
        "name": "Mikhail Borisov",
        "email": "borisov.mikhail@gmail.com",
        "time": "Tue May 26 21:44:01 2020 +0300"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Tue May 26 18:57:18 2020 +0000"
      },
      "message": "Avoid calling demangler for non-C++ symbols on Linux\n\nBogus demangler warnings should be suppressed on both Mac and Linux\nplatforms, so there is no reason to keep this filter behind __APPLE__ gate.\n\nBug: chromium:1062556\nChange-Id: Idf28db0b527c3cd6dd91510fcf7d9040aaa64694\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2210684\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "2ffe116322aa4373d408a72b665fa7fe7a504d4a",
      "tree": "ccfb4a1ccb8352dd9e6a3ad0a22cc7e888e3a4fe",
      "parents": [
        "a7b621f8107a94d8cdcd49d49bca645aa3bae098"
      ],
      "author": {
        "name": "Yngve N. Pettersen",
        "email": "yngve@vivaldi.com",
        "time": "Tue May 05 02:06:14 2020 +0200"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Tue May 05 12:18:53 2020 +0000"
      },
      "message": "mac: Don’t try to demangle non-C++ symbols with the C++ demangler\n\nOn Mac a C++ symbol has 1-4 underscore characters followed by a \u0027Z\u0027.\nSymbols that do not have this format (such as plain C symbols)\ncauses a lot of warnings to be printed.\n\nBug: chromium:1062556\nChange-Id: I55977f756c7e20cc5e7b1cb8e38316d7bf1f748c\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2179482\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "a7b621f8107a94d8cdcd49d49bca645aa3bae098",
      "tree": "3bf2f9606db55f36cd8eae68e2f7d9885942c83f",
      "parents": [
        "a2d3e8b2d5f8f3de06eefec50566c9a54d7cf0a6"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Mon Apr 27 14:58:17 2020 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Mon Apr 27 23:33:35 2020 +0000"
      },
      "message": "processor: Bound number of exception parameters read\n\nBug: 1074532\nChange-Id: I769074d7cbe0a47c8c8b716275d815e4b7f6dd63\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2168816\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\n"
    },
    {
      "commit": "a2d3e8b2d5f8f3de06eefec50566c9a54d7cf0a6",
      "tree": "46b83645741874f7e2230fb7399153abfd02d85c",
      "parents": [
        "1f15e4e3e43e73d2df7af897347b1ea29e7ddca1"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Apr 16 11:56:40 2020 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Apr 16 19:25:06 2020 +0000"
      },
      "message": "Use stdint.h numeric types in tests\n\nChange-Id: Iaa79c5c7c70ca953256cd39cc9f6f4f139c696af\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2153567\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "1f15e4e3e43e73d2df7af897347b1ea29e7ddca1",
      "tree": "0851ed147de5bf71408bbc7825d08adfbb0dd8a3",
      "parents": [
        "86bf44412891b91be56255515784abaa07e02dfc"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Apr 16 11:12:55 2020 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Apr 16 18:15:55 2020 +0000"
      },
      "message": "Use portable format macros\n\nBug: 1071277\nChange-Id: Ic65704a20c55fea83b5633650ee2c769ac227a56\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2153333\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "86bf44412891b91be56255515784abaa07e02dfc",
      "tree": "94009169d5f10495b48e8cccfe27e392edbd014f",
      "parents": [
        "5bba75bfd6ec386b8e3af0b91332388a378135bf"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Wed Apr 08 15:50:37 2020 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Apr 09 00:09:40 2020 +0000"
      },
      "message": "Use stdint.h numeric types\n\nChange-Id: Ib815b0757539145c005d828080b92cbfa971a21b\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2141226\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\n"
    },
    {
      "commit": "5bba75bfd6ec386b8e3af0b91332388a378135bf",
      "tree": "cfcf74a8adf8ea94912a41b9da563e973b16c357",
      "parents": [
        "23e6fbf571a6638ce9642fc1f50baf1af0f54268"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Wed Mar 18 17:23:10 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Mar 19 03:19:55 2020 +0000"
      },
      "message": "Remove true/false defines in convert_UTF.cc\n\nThese are left over from when this file was written in C.\n\nIn C++, true and false are keywords, so this is no longer necessary.\nIn fact, redefining a keyword is not actually permitted in ISO C++\n(https://eel.is/c++draft/macro.names#2), and is rejected by MSVC.\n\nChange-Id: I2f4a6eae7f8dd4d91b8ee6588c7ae5e8f20bd0d0\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2105831\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "23e6fbf571a6638ce9642fc1f50baf1af0f54268",
      "tree": "c3ec1270f8769b6baf2eacbc029de6adbd9b6603",
      "parents": [
        "2633712387ab0ad683b021b64ee25921a3217dbb"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Mon Mar 16 23:08:02 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 17 06:30:52 2020 +0000"
      },
      "message": "Use ULONG_MAX instead of __WORDSIZE to determine native ELF architecture\n\n__WORDSIZE is an internal libc definition. Instead, we can use\nULONG_MAX from limits.h, whose value corresponds to the machine\u0027s\nnative word size.\n\nThis allows us to remove the fallback definition of __WORDSIZE in\nthe Android compatibility headers.\n\nBug: google-breakpad:631\nChange-Id: I7b9e6f3b2121f78ccad9e32bf26acac518aefd8f\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2107100\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "2633712387ab0ad683b021b64ee25921a3217dbb",
      "tree": "8f373247a7f9d740e315ee39f0f03a02021cd3b8",
      "parents": [
        "e780d58fd7b6eda76065327a9921d6157e4a7964"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Mon Mar 16 16:47:53 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 17 01:52:33 2020 +0000"
      },
      "message": "Roll src/src/third_party/lss/ f70e2f164..fd00dbbd0 (2 commits)\n\nhttps://chromium.googlesource.com/linux-syscall-support/+log/f70e2f1641e2..fd00dbbd0c06\n\n$ git log f70e2f164..fd00dbbd0 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2020-03-10 mforney Avoid conflict with getdents64 defined by libc\n2019-01-26 vapier futex: change to 6 args\n\nCreated with:\n  roll-dep src/src/third_party/lss\n\nBug: google-breakpad:631\nChange-Id: Icc248237dcc7bdc3f7b74cd8556efcaf3b4b1c31\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2106526\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "e780d58fd7b6eda76065327a9921d6157e4a7964",
      "tree": "662e3c87fa98ed89d678e66405a63c7e1b3bb1c5",
      "parents": [
        "02b7be4065d3870efb6fa0ae20273fab1094c432"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Mon Mar 16 12:56:56 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 16 21:27:07 2020 +0000"
      },
      "message": "Use breakpad_getcontext on all Linux platforms missing getcontext\n\ngetcontext is also not available on musl libc, so generalize\nbreakpad_getcontext so it can be used as a fallback for non-Android\nplatforms as well.\n\nOn x86_64 and i386, ucontext_t uses an Android-specific offset for\nstorage of FP registers, since its sigset_t differs in size. So,\nmake the definition of MCONTEXT_FPREGS_MEM and UCONTEXT_FPREGS_MEM_OFFSET\nconditional on whether we are building for Android.\n\nOn glibc and musl, signal.h and asm/sigcontext.h can\u0027t be included\ntogether, so in breakpad_context_unittest.cc, only compare the libc\nand kernel _fpstate when on Android.\n\nBug: google-breakpad:631\nChange-Id: If81d73c4101bae946e9a3655b8d1c40a34ab6c38\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2102135\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "02b7be4065d3870efb6fa0ae20273fab1094c432",
      "tree": "9463d2af19a269356904c2c274ea931ca20b3f06",
      "parents": [
        "a5fa28ddf0396e0cd77defde67d64cb8cde30a34"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Sep 14 18:28:11 2019 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Mar 14 21:20:18 2020 +0000"
      },
      "message": "convert_UTF: try to update xcode files\n\nBug: google-breakpad:725\nChange-Id: I8c5f9a828e1bb6a2a5603fbfaa127f6dfe64a4b4\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1803770\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "a5fa28ddf0396e0cd77defde67d64cb8cde30a34",
      "tree": "7fadce62cd5087268f1c72ad0220ef3023798dd3",
      "parents": [
        "9de167a349a4b14e8c9ddd579eb6375ee4b4adbc"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Thu Mar 12 18:20:58 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Mar 13 01:50:14 2020 +0000"
      },
      "message": "Fix some bugs in CheckMicrodumpContents\n\nThe crash address from the microdump was never checked against\nanything. Instead, the test was checking the value of a constant.\n\nOn 32-bit systems, an intptr_t cannot represent kCrashAddress\n(0xDEADDEAD), causing a failure when the crash address is parsed\nfrom the microdump. Instead, use uintptr_t, which matches the type\nof kCrashAddress.\n\nChange-Id: Ib5612743803609f7801dcfb98deaa8779e362025\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2100816\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "9de167a349a4b14e8c9ddd579eb6375ee4b4adbc",
      "tree": "7398f1bf68fd48ab3c16965706dbc718f835b38e",
      "parents": [
        "9bc5d7024fceb153fe7e0ae7ba5931800a749817"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Mar 10 23:27:52 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Mar 11 11:52:48 2020 +0000"
      },
      "message": "Remove sys/signal.h compatibility header\n\nSince a03ad96dbd, sys/signal.h is no longer required.\n\nChange-Id: I64e6235e1bffb3728d6050389bad6e7a99389741\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2097666\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "9bc5d7024fceb153fe7e0ae7ba5931800a749817",
      "tree": "db2f1f5a5f7057f57de3b614c7474b1c8a57d452",
      "parents": [
        "98c883b5cfe582f357c67ba38d3de161c457f5bd"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Mar 10 23:15:25 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Mar 11 11:50:39 2020 +0000"
      },
      "message": "Add google_crashdump_uploader_test to .gitignore\n\nChange-Id: I5c5e5c85ec49a76e5f4c7c6a0f662398e6cdc6ee\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2097681\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "98c883b5cfe582f357c67ba38d3de161c457f5bd",
      "tree": "ba92e74dac30ddff7a57c528a904983054acce9b",
      "parents": [
        "75ca6a193d34f05fee66290028321a97e0a74910"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Mar 10 23:09:43 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Mar 11 11:49:47 2020 +0000"
      },
      "message": "Remove redundant LINUX_HOST conditional\n\nWe are already in a LINUX_HOST conditional block, so there is no need\nto check for it again.\n\nChange-Id: Ifbe283ffa47373c98d2653f1014445d1a435c715\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2093144\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "75ca6a193d34f05fee66290028321a97e0a74910",
      "tree": "162cf0875aab30c0d79cecc6dca6cb9ac3faa0fd",
      "parents": [
        "a0f647d7f34f22e2c6d79ac74769c758bf5b20fe"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Mar 10 16:30:20 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 23:49:55 2020 +0000"
      },
      "message": "Use public fpregset_t type to define fpstate_t\n\nThe _libc_fpstate struct tag is an implementation detail of glibc,\nand musl uses a different struct tag, _fpstate.\n\nUnfortunately, the public type fpregset_t is a pointer type, so is\nnot suitable for allocating storage, or referring to constant\nstorage. Instead, we can use std::remove_pointer\u003cfpregset_t\u003e::type\nto refer to the pointed-to type, regardless of the struct tag.\n\nBug: google-breakpad:631\nChange-Id: Iaf47f15b2d834dd8de839431f65a481e9b0c7f9e\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2096171\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "a0f647d7f34f22e2c6d79ac74769c758bf5b20fe",
      "tree": "fe8465cd615bb3f6a72dbb4ea079fe77c130983b",
      "parents": [
        "a03ad96dbd61e8c7e35c3601612d6080a8586adf"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Mar 10 16:24:38 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 23:31:09 2020 +0000"
      },
      "message": "Use ULONG_MAX instead of __WORDSIZE to determine ELF class\n\n__WORDSIZE is an internal libc definition. Instead, we can use\nULONG_MAX from limits.h, whose value corresponds to the machine\u0027s\nnative word size.\n\nBug: google-breakpad:631\nChange-Id: If69caf578286d678585d1510c01562b969b5061f\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2097352\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "a03ad96dbd61e8c7e35c3601612d6080a8586adf",
      "tree": "313f330089c2b632374c1b762d3ae6a9e1bc6cc3",
      "parents": [
        "3f6f16b059f6f3f3e23a1f0476c04c3dc667fbbb"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Mar 10 15:32:35 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 22:52:40 2020 +0000"
      },
      "message": "Use standard header locations for poll.h and signal.h\n\nsys/poll.h and sys/signal.h just redirect to the standardized\nlocation for these headers, poll.h and signal.h.\n\nOn musl libc, including the incorrect header path results in a\nwarning, and since breakpad is built with -Werror, this is an error.\n\nIn exception_handler.cc, signal.h is already included earlier, so\nwe can drop the sys/signal.h include.\n\nBug: google-breakpad:631\nChange-Id: If36d326453e3267d38a5b92ed1301f828e46befe\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2097344\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "3f6f16b059f6f3f3e23a1f0476c04c3dc667fbbb",
      "tree": "dc0012438aa5888a1ccb2688dbcd139581b48097",
      "parents": [
        "4f3f0acd6f7ba9c6688246262a6172ee0aa8488a"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Mar 10 15:18:51 2020 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 22:49:56 2020 +0000"
      },
      "message": "Use sched_yield instead of pthread_yield\n\npthread_yield is not a standard POSIX function, and is not available\nin musl libc. The man page says to \"Use the standardized sched_yield(2)\ninstead\"[0].\n\nOn glibc, pthread_yield is exactly equivalent to sched_yield[1].\n\nOn bionic, pthread_yield is also not available, so on Android, the\ntests define a wrapper that just calls sched_yield. This wrapper\nis no longer necessary if we just use sched_yield in the first\nplace.\n\n[0] http://man7.org/linux/man-pages/man3/pthread_yield.3.html\n[1] https://sourceware.org/git/?p\u003dglibc.git;a\u003dblob;f\u003dnptl/pthread_yield.c\n\nBug: google-breakpad:631\nChange-Id: Ie4c6be8c17cdc2f5396a7fe972fa51a97573b049\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2097340\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "4f3f0acd6f7ba9c6688246262a6172ee0aa8488a",
      "tree": "6837f6d4e5dd8a816180bad6ceb2109cfae5470f",
      "parents": [
        "fea1913f297dda42d9f0901bb89f50c49608a5a4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 00:00:17 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 18:30:06 2020 +0000"
      },
      "message": "Revert \"Add new dwarf 5 enums, plus some dwarf4 enums.\"\n\nThis reverts commit 0c0e24f709288a129d665ec27d6f089189318385.\n\nReason for revert: This is causing breakage on CrOS due to unhandled\nenums and dwarf5 support is in limbo, so pull this back out for now.\n\nBug: google-breakpad:812\nChange-Id: I22dd5d87efb8bc83596d51d15a6808c41afb3fd2\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2095872\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "fea1913f297dda42d9f0901bb89f50c49608a5a4",
      "tree": "ddebcf0ae8bb50cb2e763dd3020f6509b3c44e1e",
      "parents": [
        "52b33b2a4b9f374255817afecc6e7d215fa80f28"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 09 23:59:12 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 18:29:58 2020 +0000"
      },
      "message": "Revert \"Add dwarf5 compilation-unit header handling.\"\n\nThis reverts commit dbd454dbe47e584571388fc3533193416bdce67f.\n\nReason for revert: The parent CL is causing breakage on CrOS due to\nunhandled enums.  Before we can revert that, we need to revert this.\n\nBug: google-breakpad:812\nChange-Id: I7c2446f3cd8ed9f6411e90dbdd2434bc463b2f6c\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2095798\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "52b33b2a4b9f374255817afecc6e7d215fa80f28",
      "tree": "342ab495274f375a6a2845be50d598e8c3bde71d",
      "parents": [
        "c7522272ffafa9b162f135aaee5d02a8895fcb0b"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Fri Mar 06 10:40:39 2020 -0500"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Fri Mar 06 17:08:57 2020 +0000"
      },
      "message": "dump_syms: Reintroduce warnings inadvertently removed by 47cd498384fd\n\nPreviously, dump_syms produced warnings whenever a DW_AT_specification\nor DW_AT_abstract_origin attribute was a forward reference. 47cd498384fd\nallowed those attributes to carry forward references, removing the\nwarnings altogether. It was not correct to remove the warnings entirely.\nReferences that do not point to valid DIEs should still produce\nwarnings, whether a back reference or a forward reference.\n\nThis reintroduces those warnings as appropriate.\n\nBug: google-breakpad:813\nTest: dumper_unittest SimpleCU.UnknownAbstractOrigin,Specifications.BadOffset\nChange-Id: Ie7222c7a1886bab31423f27e2fbcce93e69625b3\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2090103\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "c7522272ffafa9b162f135aaee5d02a8895fcb0b",
      "tree": "a13d99c2cbefd9f6f78a8e128957ae2873bcf34d",
      "parents": [
        "815497495eee92e028320ef96dc5b7ec13d85216"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Thu Feb 27 14:04:01 2020 -0800"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Thu Feb 27 22:04:31 2020 +0000"
      },
      "message": "Add \"type\" option to sym_upload sym-upload-v2 mode.\n\n- \"sym-upload-v2\" protocol now supports specifying a symbol file \"type\".\n- Known types are \"breakpad\" (default option, previously this was only\neffectively the only option), \"elf\", \"pe\", \"macho\", \"debug_only\", \"dwp\",\n\"pdb\", and \"dsym\".\n- When type other than breakpad is specified, sym_upload tool requires\nthe code_file and debug_id value (that it otherwise would have gotten\nfrom the text of the Breakpad symbol file).\n- This ultimately means that sym_upload can be used to upload native\nsymbol files now, in addition to Breakpad symbol files.\n\nChange-Id: I3a331ba16f199d1d0025df735716ba5de298f522\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2078670\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "815497495eee92e028320ef96dc5b7ec13d85216",
      "tree": "fe2ea81b30d4e754ba2e27be539f388ac67407bb",
      "parents": [
        "a4c536dc2d4dfbaa1e9d3cbb03cc4f4e98f83787"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Feb 21 15:54:49 2020 -0800"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Sat Feb 22 00:03:09 2020 +0000"
      },
      "message": "Make LibcurlWrapper support static linking.\n\n- Didn\u0027t used to support statically linked libcurl, now it does (like\nHttpUpload does).\n\nChange-Id: Ic014548225b129f0c1c9ffe6a671f5bd2352b6e6\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2068947\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "a4c536dc2d4dfbaa1e9d3cbb03cc4f4e98f83787",
      "tree": "b204a32fd3f6a4ae186728d02052506d79ea6181",
      "parents": [
        "5e1c53a4427d65fa5d7798aea3893dc64572717e"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Feb 21 10:34:58 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Feb 21 18:37:25 2020 +0000"
      },
      "message": "linux: fix symupload build failures\n\nChange-Id: I58612eb70173d79c2aeb755d8c7f5677cb3a8fb8\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2067608\nReviewed-by: Nelson Billing \u003cnbilling@google.com\u003e\n"
    },
    {
      "commit": "5e1c53a4427d65fa5d7798aea3893dc64572717e",
      "tree": "f255d4156ab57b5b9b0b22d9227aea3e609767f6",
      "parents": [
        "bbad9f255d76cf7dcd11d15800e508d9849826af"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Feb 20 18:56:04 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Feb 21 04:06:35 2020 +0000"
      },
      "message": "android: truncate lower of two overlapping modules\n\nPreviously, the processor truncated the upper of two\noverlapping module ranges to compensate for incorrect\nreporting of module ranges by the Breakpad client.\nCrashpad correctly reports module load ranges, so\nthis truncation strategy is no longer necessary.\n\nHowever, when partitioned libraries are used, the base\nlibrary may have a range which encompasses the other\npartitions. When this is combined with the truncate\nupper merge strategy, the base library\u0027s executable\nsegment is truncated causing symbolization failures.\n\nThis patch changes Android\u0027s merge strategy to truncate\nthe lower range (which is still the base library, but\nthis strategy truncates from the high end of the\nlibrary\u0027s range, instead of its base).\n\nBug: b/149845120\nChange-Id: Ic75ecd3e919432690740eb21ebd4265fc0bbaa86\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2067952\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "bbad9f255d76cf7dcd11d15800e508d9849826af",
      "tree": "e3697362db759c72f9529931f733e1e6058ee790",
      "parents": [
        "216cea7bca53fa441a3ee0d0f5fd339a3a894224"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Wed Feb 19 15:32:08 2020 -0800"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Thu Feb 20 16:50:31 2020 +0000"
      },
      "message": "Add optional new symbol upload API to sym_upload.\n\nChange-Id: I6a49e9f4a699fa6f5f8e9f0fc86afb4cb342a442\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1422400\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "216cea7bca53fa441a3ee0d0f5fd339a3a894224",
      "tree": "30b41a11aa72f208c0334bad5604546bdf97e1f0",
      "parents": [
        "647158232ba153d33c984f201b0ee35384e684cc"
      ],
      "author": {
        "name": "Ivan Penkov",
        "email": "ivanpe@chromium.org",
        "time": "Tue Jan 28 20:11:25 2020 -0500"
      },
      "committer": {
        "name": "Ivan Penkov",
        "email": "ivanpe@chromium.org",
        "time": "Wed Jan 29 18:53:05 2020 +0000"
      },
      "message": "Update Xcode project files to fix build errors.\n\n* Renamed convert_UTF.c to convert_UTF.cc\n* Enabled to use C++17 for [[clang::fallthrough]] defined in src/common/macros.h\n\nPatch by Hiro Komatsu\n\nChange-Id: I5de7f7dd4c8bf231a004144a5c82828c59ddcfd6\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2026761\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "647158232ba153d33c984f201b0ee35384e684cc",
      "tree": "faf318d8819ed251a438ce7a3aff7e5514098f8a",
      "parents": [
        "13c1568702e8804bc3ebcfbb435a2786a3e335cf"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Fri Jan 24 22:42:38 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jan 25 07:52:19 2020 +0000"
      },
      "message": "Roll src/src/third_party/lss/ 8048ece6c..f70e2f164 (3 commits)\n\nhttps://chromium.googlesource.com/linux-syscall-support/+log/8048ece6c16c..f70e2f1641e2\n\n$ git log 8048ece6c..f70e2f164 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2020-01-22 mforney Avoid conflict with pread64/pwrite64 defined by libc\n2019-12-05 jperaza arm, ppc, mips32: fix fallocate and add tests\n2019-11-13 jperaza Add sigtimedwait and sigprocmask wrappers\n\nCreated with:\n  roll-dep src/src/third_party/lss\n\nChange-Id: I63e1e0722a338875f53884565ea4c2706ec67037\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2020986\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "13c1568702e8804bc3ebcfbb435a2786a3e335cf",
      "tree": "3787cd4d2a2b2f510acd6565f1635883ea8ea8c5",
      "parents": [
        "4e15f7d2308444677a3b5ccb9207cebacfd8ba60"
      ],
      "author": {
        "name": "Sim Sun",
        "email": "sunsj1231@gmail.com",
        "time": "Tue Jan 14 21:48:37 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Tue Jan 21 16:57:57 2020 +0000"
      },
      "message": "arm64: recover register X30(LR) when fallback to frame pointer unwinder\n\nStackwalk can\u0027t recover caller\u0027s register X30($LR) value by STACK CFI info.\nThis will lead unwinding stop immediately when fallback to frame pointer unwinder.\n\nThis PR will use try to use second last frame to recover register X30($LR) by frame pointer.\nAnd we will give up correction if STACK CFI info doesn\u0027t agree with frame pointer info.\n\nBug: https://bugs.chromium.org/p/google-breakpad/issues/detail?id\u003d808\nChange-Id: I50649e3398e268b02ff297e83db21d05705c2a2d\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1992641\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "4e15f7d2308444677a3b5ccb9207cebacfd8ba60",
      "tree": "6829845e097347dea976950cedd7012ddf1ccb42",
      "parents": [
        "e5ef907c2e9ce48f623775a7082f98baf341fa17"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Jan 03 12:00:23 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Jan 03 20:47:38 2020 +0000"
      },
      "message": "Extract the exception record from the minidump\n\nChange-Id: Ia622560960513e24b21184532f2272a09b9cdc95\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1986339\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\n"
    },
    {
      "commit": "e5ef907c2e9ce48f623775a7082f98baf341fa17",
      "tree": "209d1a59a41261627deab2092430f22cdb0f83c4",
      "parents": [
        "dbd454dbe47e584571388fc3533193416bdce67f"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Jan 03 09:43:46 2020 -0800"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Fri Jan 03 17:56:11 2020 +0000"
      },
      "message": "ios: build for arm64e\n\nWhen __DARWIN_OPAQUE_ARM_THREAD_STATE64 is set (by default when building\nfor arm64e), fp, lr, sp, pc, and flags (but not x or cpsr) in thread\nstate are prepended with \"__opaque\" and intended to be accessed via\nsupplied getters which may also authenticate pointers. We don\u0027t want to\nauthenticate those pointers (since we expect they may be invalid and\nwant to recover those invalid values) so access them directly.\n\nBug: b/140375065\nChange-Id: Ibe6c1dbfb5d68a9d350614445fa06d48873f8549\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1986868\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "dbd454dbe47e584571388fc3533193416bdce67f",
      "tree": "21cdd287ee7b118de82efc2d22b423b699d8ab8b",
      "parents": [
        "0c0e24f709288a129d665ec27d6f089189318385"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Fri Dec 13 16:54:50 2019 -0800"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Thu Dec 19 04:44:17 2019 +0000"
      },
      "message": "Add dwarf5 compilation-unit header handling.\n\nFix a small typo in DW_LANG__Python.\n\nChange-Id: I1fe54e501a5e8da5057ecc9ac00c7e7259a9bb3f\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1967975\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "0c0e24f709288a129d665ec27d6f089189318385",
      "tree": "99e2af8b426a69723dd82528fad55441edbaf2f8",
      "parents": [
        "f32b83eb08e9ee158d3037b2114357187fd45a05"
      ],
      "author": {
        "name": "Sterling Augustine",
        "email": "saugustine@google.com",
        "time": "Thu Dec 12 12:07:33 2019 -0800"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Thu Dec 12 20:46:16 2019 +0000"
      },
      "message": "Add new dwarf 5 enums, plus some dwarf4 enums.\n\nChange-Id: Ibe0b529664dd48a423cb453b786d08c5b7abec19\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1965462\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "f32b83eb08e9ee158d3037b2114357187fd45a05",
      "tree": "678b61d998ec1a09788dba5fa51040fa306ceb88",
      "parents": [
        "5bc3092b30e022b1629d94867e64c9388bc289cf"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Tue Dec 03 15:00:30 2019 -0800"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Thu Dec 05 21:20:42 2019 +0000"
      },
      "message": "Enable reading DWARF4 CIEs with 32 bit addresses.\n\n- Reading DWARF4 CIEs was added in\nhttps://chromium-review.googlesource.com/c/breakpad/breakpad/+/406012 but it\nwas only enabled for 64bit builds, since it would error out if the CIE\naddress size was not 8 bytes.\n- Added a unit test to ensure that 32bit continues to work.\n\nChange-Id: I824bb40cdf12056d39da335adb55ed315970fb88\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1941034\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "5bc3092b30e022b1629d94867e64c9388bc289cf",
      "tree": "590ff59ab0d64af94368eab04c627596e22f73b9",
      "parents": [
        "47cd498384fdf7e54b0c8a6678c8af6a71635d0f"
      ],
      "author": {
        "name": "Bryan Klimt",
        "email": "klimt@google.com",
        "time": "Fri Nov 22 10:55:42 2019 -0800"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Dec 04 19:46:05 2019 +0000"
      },
      "message": "Add a variable to allow adding an extra include path for LSS.\n\nI have a project where we are trying to include breakpad as a git\nsubmodule. The only problem getting it to build with ndk-build is that\nthe linux_syscall_support.h header is missing. Normally, this header\nwould be downloaded by the depot_tools. But we cannot install\ndepot_tools on our CI machines.\n\nSo, we would like to include the header as a separate submodule in our\nrepo. The only change we would need to make to breakpad to make that\nwork is to add this optional variable to the C header search path. In\nthe normal case, this variable will not be set and nothing will be\ndifferent. But we can set the variable to allow us to build without\ninstalling depot_tools.\n\nI have manually tested this using a separate project that links to\nbreakpad in this way.\n\nChange-Id: Id116b2af1c1ba0a08464c213d8982b24a1821ee7\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1930179\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "47cd498384fdf7e54b0c8a6678c8af6a71635d0f",
      "tree": "23ed608245b10d947d80e8a3f04574010bc91c45",
      "parents": [
        "1f1d950d6a4b1cb375ebfbc4e40f9517c592b94f"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Mon Dec 02 13:45:36 2019 -0500"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Mon Dec 02 18:47:46 2019 +0000"
      },
      "message": "dump_syms: handle forward reference DWARF attributes\n\nDW_AT_specification and DW_AT_abstract_origin attributes carry\nreferences to other DIEs. Nothing prevents the DIEs referred to from\nappearing later in .debug_info than the DIE containing the referring\nattribute, but dump_syms incompletly implemented its handling of these\nreferences, and was only able to resolve them when they were\nback-references.\n\nThis will fix the chronic warnings produced by dump_syms of the form:\n\ndump_syms: the DIE at offset \u003coffset\u003e has a {DW_AT_specification,\nDW_AT_abstract_origin} attribute referring to the die at offset\n\u003coffset\u003e, which either was not marked as {a declaration, an inline}, or\ncomes later in the file\n\nPatch by Greg Clayton\n\nBug: breakpad:441\nChange-Id: I98957d64a234c22afb6d0153f1bdc09e6a600b1d\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1946706\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "1f1d950d6a4b1cb375ebfbc4e40f9517c592b94f",
      "tree": "1a30bd2bb69eec75116e694d8e618e41fd670602",
      "parents": [
        "f6fe7cc55ab9f28f5c984741bc4c04650dfe1cb3"
      ],
      "author": {
        "name": "Jon Turney",
        "email": "jon.turney@dronecode.org.uk",
        "time": "Fri Nov 22 12:20:16 2019 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Nov 22 18:29:21 2019 +0000"
      },
      "message": "Fix compilation of http_upload.cc with Windows gcc\n\nFix compilation of http_upload.cc with Windows gcc after 548ca6e3, by\nmoving the definition of GetFileContents(), so it comes after the\ndefinition of WideToMBCP(), which it uses (under !_MSC_VER).\n\ncommon/windows/http_upload.cc: In function ‘bool {anonymous}::GetFileContents(const wstring\u0026, std::vector\u003cchar\u003e*)’:\ncommon/windows/http_upload.cc:80:19: error: ‘WideToMBCP’ was not declared in this scope\n\nChange-Id: I1646b39263e97bbf3bd8cb1ae209be238023110f\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1928929\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "f6fe7cc55ab9f28f5c984741bc4c04650dfe1cb3",
      "tree": "cdd2a8cdf3f743823ba3047382ee77b026f9a30f",
      "parents": [
        "62f10f30bad9c8e0613158e6f6ac461bb938f679"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Fri Nov 22 12:51:43 2019 -0500"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Fri Nov 22 17:52:59 2019 +0000"
      },
      "message": "mac processor: Add mapping for EXC_BAD_ACCESS/KERN_CODESIGN_ERROR\n\nThis code indicates termination under “kill” semantics due to a module’s\ncode signature becoming invalid.\n\nBug: chromium:1023239\nChange-Id: I3d453af9ef6c6925edcf9c08dbd78e563877522f\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1930177\nReviewed-by: Robert Sesek \u003crsesek@chromium.org\u003e\n"
    },
    {
      "commit": "62f10f30bad9c8e0613158e6f6ac461bb938f679",
      "tree": "f35a37b319f3ef150d6bebb01b777a30a49c4772",
      "parents": [
        "792e6b2143bffd46c93e8f80c10d00d8289b8d73"
      ],
      "author": {
        "name": "Jon Turney",
        "email": "jon.turney@dronecode.org.uk",
        "time": "Tue Nov 19 15:00:33 2019 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Nov 19 15:20:39 2019 +0000"
      },
      "message": "Fix \u0027make distcheck\u0027\n\nUpdate EXTRA_DIST to allow \u0027make distcheck\u0027 to work\n\nChange-Id: I2f840e6e86039d590af601a55e20fb9f6caf3a08\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1924253\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "792e6b2143bffd46c93e8f80c10d00d8289b8d73",
      "tree": "37958bed84b654f2785744569d0ea162094546da",
      "parents": [
        "5915ea929c43d61e77b68b64bc91d8709f5c9876"
      ],
      "author": {
        "name": "Sylvain Defresne",
        "email": "sdefresne@chromium.org",
        "time": "Tue Nov 12 17:05:12 2019 +0100"
      },
      "committer": {
        "name": "Sylvain Defresne",
        "email": "sdefresne@chromium.org",
        "time": "Tue Nov 12 16:17:19 2019 +0000"
      },
      "message": "Remove dependency of uploader.mm on GTMLogger\n\nThe file GTMLogger shipped with breakpad is a copy of the version\nfrom google_toolbox_for_mac. Having uploader.mm depend on GTMLogger\ncauses pain to iOS projects that want to integrate both breakpad\nand google_toolbox_for_mac.\n\nSince the file uploader.mm mixed uses of fprintf and GTMLogger to\nlog errors and warning, convert it to only use fprintf to stderr.\n\nBug: none\nChange-Id: I68313ccf6951676a2859f44225281813722096ba\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1911755\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "5915ea929c43d61e77b68b64bc91d8709f5c9876",
      "tree": "a84ca409b654cd44581b85dc01f98b08fe9f4b58",
      "parents": [
        "8c62281f8b21f1e368a5e091331175f42f38e5fe"
      ],
      "author": {
        "name": "Christopher Grant",
        "email": "cjgrant@chromium.org",
        "time": "Mon Nov 04 21:34:20 2019 -0500"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Tue Nov 05 03:39:54 2019 +0000"
      },
      "message": "Add fallthrough annotations on new C++ switches\n\nA recent commit converted some source from C to C++. Chrome has\nchecks against unannotated switch case fallthroughs in C++ code, so the\nconverted source needs annotations.\n\nBug: 990190\nChange-Id: Ib92435b4877be936f837928a70b552ec4975d42a\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1898429\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "8c62281f8b21f1e368a5e091331175f42f38e5fe",
      "tree": "4a175b3fc54f71209816f0cc3a64df7faecedb65",
      "parents": [
        "5085b1d0df9c4b6f0f32b100f88611bc2beb3c09"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Fri Nov 01 03:49:03 2019 +0000"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Fri Nov 01 03:49:20 2019 +0000"
      },
      "message": "Revert \"Remove use of \"register\" keyword, deprecated in C++17\"\n\nThis reverts commit 07411862eaa9a9a38e84caed2e97e836e456656f.\n\nWe were a bit overzealous in removing “register” here. Both clang and\nGCC correctly disallow “register” as a storage class specifier in C++17\nmode by producing an error in ordinary use. However, they require\n“register” to be specified for explicit register variables, and do not\nproduce an error in this case.\n\nChange-Id: I223f2652c6da4215d6e8788d902e767c94b8c29d\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1894875\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "5085b1d0df9c4b6f0f32b100f88611bc2beb3c09",
      "tree": "c1bca3a2626ed1dfbdfc8814ddac3f56b0b1d716",
      "parents": [
        "d27fd9ae7e7bb77ec22fcf0e34c819cd6773b02e"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Tue Oct 29 17:55:54 2019 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Oct 30 17:54:00 2019 +0000"
      },
      "message": "linux, client: set module name from DT_SONAME\n\n3e56ef9d changed dump_syms to set the module name from DT_SONAME\nexpecting that clients were already using DT_SONAME when it was\npresent. The Breakpad client previously only used DT_SONAME as the name\nfor a module if it detected that it was likely mapped from a zip file.\nThis patch updates the Breakpad Linux client to always use the\nDT_SONAME in minidumps if it\u0027s present.\n\nAlso included are changes to address comments that were missed from\nthat review.\n\nBug: 1016924\nChange-Id: I4aae8c05e6793d4b0598049a8964ddd4cb0c6194\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1889231\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "d27fd9ae7e7bb77ec22fcf0e34c819cd6773b02e",
      "tree": "86804b7333b937bbf9462a728a3b1acd51853823",
      "parents": [
        "862c9f47efe9ea2ff80c4acc94f5595b487878b8"
      ],
      "author": {
        "name": "Christopher Grant",
        "email": "cjgrant@chromium.org",
        "time": "Tue Oct 29 16:24:21 2019 -0400"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Tue Oct 29 20:30:25 2019 +0000"
      },
      "message": "linux, dump_syms: Make style consistent in module unittest\n\nMake the following consistent within the file:\n\n- 0x...ULL for unsigned literals.\n- On pointers, put the asterisk with the type.\n\nContext: Made a previous change and saw a mix of styles. Make it\nconsistent for the sake of visual consistency.\n\nBug: None\nChange-Id: I0f80aedc0ca0295be3c70bd88822cbb82d0415ba\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1888434\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "862c9f47efe9ea2ff80c4acc94f5595b487878b8",
      "tree": "8a1b7736a888b1a526858b8c70713b0f4a5bfeda",
      "parents": [
        "17958ef62cc5fe8208a965d50f41fc70c5fc116f"
      ],
      "author": {
        "name": "Christopher Grant",
        "email": "cjgrant@chromium.org",
        "time": "Tue Oct 29 14:56:38 2019 -0400"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Tue Oct 29 19:03:12 2019 +0000"
      },
      "message": "linux, dump_syms: Filter module entries outside specified ranges\n\nPartitioned libraries generated with lld and llvm-objcopy currently\ncontain a superset of debug information, beyond what applies to the\nlibrary itself. This is because objcopy cannot split up debug\ninformation by partition - instead, it places a copy of all debug\ninformation into each partition.\n\nIn lieu of potential future support for lld or objcopy becoming able to\nsplit up debug information, let dump_syms do the next best thing:\n\n- Find the address ranges of all PT_LOAD segments in the lib.\n- Supply these to the Module being generated.\n- Filter additions to the Module based on these ranges.\n\nBug: 990190\nChange-Id: Ib5f279f42e3f6ea79eed9665efbcc23c3c5d25dc\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1884699\nReviewed-by: Joshua Peraza \u003cjperaza@chromium.org\u003e\n"
    },
    {
      "commit": "17958ef62cc5fe8208a965d50f41fc70c5fc116f",
      "tree": "d31cd13007f583b786030653977910c5eecaf6d1",
      "parents": [
        "3e56ef9d4e328142c07605a0bde1dfd2ed122611"
      ],
      "author": {
        "name": "Jake Ehrlich",
        "email": "jakehehrlich@google.com",
        "time": "Fri Oct 04 13:29:26 2019 -0700"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Oct 24 22:05:33 2019 +0000"
      },
      "message": "Add options to set OS and filename\n\nThis allows Fuchsia to use dump_syms directly without a\npostprocessing step.\n\nChange-Id: I84507f8bedddfcdcdb237119457c8ddf8ac354d5\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1850718\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "3e56ef9d4e328142c07605a0bde1dfd2ed122611",
      "tree": "8f822543c79d3f6947f72e5b8b5d52f40a320e05",
      "parents": [
        "db1cda26539c711c3da7ed4d410dfe8190e89b8f"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Oct 24 11:41:44 2019 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Thu Oct 24 18:59:59 2019 +0000"
      },
      "message": "linux, dump_syms: set module name from DT_SONAME\n\nThe Breakpad and Crashpad clients will use an object\u0027s DT_SONAME as\nthe name for a module if it exists. Previously, linux dump_syms would\nassume the basename of an input elf file matches that value, causing\nsymbol lookups to fail if they were mismatched. This patch updates\ndump_syms to use DT_SONAME as the module name, if present.\n\nBug: 1016924\nChange-Id: I5eff0cf06c703841df3fb552cb5a8e1e50a20c64\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1876763\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "db1cda26539c711c3da7ed4d410dfe8190e89b8f",
      "tree": "ece5c30abb27e436ada9a0b2a07a08a7eb7da938",
      "parents": [
        "abfe08e78927a5cd8c749061561da3c3c516f979"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Aug 03 12:12:40 2019 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Sep 04 20:25:23 2019 +0000"
      },
      "message": "convert_UTF: rewrite in C++\n\nThis allows us to namespace the symbols properly.\n\nBug: google-breakpad:725\nChange-Id: Iea8052547eef6c0acb299c1995781735c6d8994f\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1769236\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "abfe08e78927a5cd8c749061561da3c3c516f979",
      "tree": "e8e854916eb16e51e822fd2a1b0f4dea314feafd",
      "parents": [
        "07411862eaa9a9a38e84caed2e97e836e456656f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Aug 14 13:41:25 2019 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Aug 14 17:56:21 2019 +0000"
      },
      "message": "codereview.settings: do not force squashing behavior\n\nLeave it to the user to decide how to manage their local tree state.\n\nBug: 993518\nChange-Id: Ic026f9bdc11e1a16f91da74f1b173753c6efa88c\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1753593\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "07411862eaa9a9a38e84caed2e97e836e456656f",
      "tree": "8895ed72bb665075c980be4ff3e24d9705691b9f",
      "parents": [
        "01dfa81f1b4becb157ed9ccc9277f6eac1de67e3"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Mon Aug 12 14:10:41 2019 -0400"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Mon Aug 12 18:36:48 2019 +0000"
      },
      "message": "Remove use of \"register\" keyword, deprecated in C++17\n\n\"register\" as a storage class specifier has been deprecated since C++11,\nand has been removed from C++17 while remaining a reserved word. See\nC++17 5.11 and C.4.3.\n\nChange-Id: I2dbab8a7061cb680d902644d39ea1a7fbc930e5c\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1749329\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "01dfa81f1b4becb157ed9ccc9277f6eac1de67e3",
      "tree": "64ab22305a380877c9fb4422b4de35122867643d",
      "parents": [
        "ef04c9c028132b3e3dcd7ff43c2ddd0c24ad668b"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Wed Aug 07 12:42:38 2019 -0400"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Wed Aug 07 16:43:11 2019 +0000"
      },
      "message": "Mac dump_syms: accept __DWARF segment without __debug_info section\n\nA .dSYM may validly contain a __DWARF segment without any __debug_info\nsection. This can occur for Chromium Framework in a component build of\nChromium, because in that case, all of the code is in other libraries\nthat Chromium Framework depends on.\n\nThis was previously tested by an assertion, but the assertion did not\ntrigger in NDEBUG (release) builds. In NDEBUG builds, this condition\nwould lead to an out-of-bounds read, detected by AddressSanitizer.\n\nInstead of an assertion, the check is now always done at runtime.\nInstead of being fatal, it\u0027s now just a warning, because it\u0027s been\nestablished that __DWARF without __debug_info can occur.\n\n(In the Chromium case, it remains pointless to run dump_syms via the\n\"chrome_dump_syms\" target on a component build, as it\u0027ll only attempt to\nsymbolize Chromium Framework, and not any of the libraries that Chromium\nFramework depends on that actually contain the code.)\n\nBug: chromium:991206\nChange-Id: I6c9c75f0be7901813e3eaae54aff38c1afe73ca9\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1741610\nReviewed-by: Robert Sesek \u003crsesek@chromium.org\u003e\n"
    },
    {
      "commit": "ef04c9c028132b3e3dcd7ff43c2ddd0c24ad668b",
      "tree": "5d305858efe9a543a0ec1c1dacc47ad8d99b0e64",
      "parents": [
        "4beee493f626ffd6d05d8d05e603df9ff3b8717b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Aug 03 11:28:50 2019 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Aug 05 17:38:16 2019 +0000"
      },
      "message": "string_conversion: fix pointer math\n\nSince target_ptr is of type uint16_t* already, we don\u0027t need to scale\nthe byte count as the language does that for us.  If it were void*, we\nwould need this code, but it\u0027s not.\n\nIn practice it\u0027s probably not a big deal due to how we preallocated\nmemory: when converting UTF8-\u003eUTF16, we\u0027d reserve the same number of\ncode units, and UTF8 takes more code units per codepoint than UTF16,\nso the UTF16 vector is always oversized.\n\nWhen converting UTF32-\u003eUTF16, we also reserve the same number of\ncode units, but since one UTF32 code unit could require two UTF16\ncode units (for U+10000 codepoints and higher), we would probably\ncorrupt memory in the process.  The APIs in this module don\u0027t seem\nto take into account that range in general, so for now I\u0027m only\nfixing the memory corruption.\n\nBug: google-breakpad:768\nChange-Id: Ibfaea4e866733ff8d99b505e72c500bd40d11a74\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1732888\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "4beee493f626ffd6d05d8d05e603df9ff3b8717b",
      "tree": "d7cefe55c14f9342c7d6c7554643563bf607f8c6",
      "parents": [
        "f0d43bc16ba1a39c41af0b1ded28ca2b540a1efe"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Aug 03 10:37:57 2019 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Aug 04 04:11:55 2019 +0000"
      },
      "message": "guid_creater: include string.h for memcpy\n\nBug: google-breakpad:779\nChange-Id: If0cfb036ee924178033c89d4dc3e2ce75ddd46f2\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1732887\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "f0d43bc16ba1a39c41af0b1ded28ca2b540a1efe",
      "tree": "ef6c60981f487006bff1b5dc9ec6e1099d64b847",
      "parents": [
        "55499d616c32ab5c408a93727448cd5c2a92dc93"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Aug 03 12:02:00 2019 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Aug 04 04:11:34 2019 +0000"
      },
      "message": "minidump_processor: fix typo in BUS_ADRALN\n\nBug: google-breakpad:787\nChange-Id: I9f7144b3456abb750142eae9f989133bf4f27885\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1734586\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "55499d616c32ab5c408a93727448cd5c2a92dc93",
      "tree": "4b937561844df769991b6b618b8a1155e3db68e9",
      "parents": [
        "cfad51e9547399a6df3c09a1bee3cb599999b51c"
      ],
      "author": {
        "name": "Henri Hyyryläinen",
        "email": "henri.hyyrylainen@gmail.com",
        "time": "Sat Aug 03 17:14:51 2019 +0300"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Aug 03 14:31:16 2019 +0000"
      },
      "message": "Updated lss to fix compiling with GCC 9\n\nBug: https://bugs.chromium.org/p/google-breakpad/issues/detail?id\u003d795\nChange-Id: I1494c1d2493616b6b263111137ef7aceeb31be44\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1733536\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "cfad51e9547399a6df3c09a1bee3cb599999b51c",
      "tree": "d2de9d123372a9729b5d2f0a907042481ec19a65",
      "parents": [
        "4a6d7c70cc5a007bbd8de2f5a2e226b212e3256f"
      ],
      "author": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Mon Jul 22 13:26:19 2019 -0700"
      },
      "committer": {
        "name": "Joshua Peraza",
        "email": "jperaza@chromium.org",
        "time": "Tue Jul 23 20:02:05 2019 +0000"
      },
      "message": "arm64: strip PACs from link register values\n\nPointer authentication codes are used to validate pointers against\naccidental or malicious modification by storing a hash of the address\nand a secret value in the pointer\u0027s unused, upper bits. The exact\nbits used may vary by implementation and depend on the size of the\nvirtual address space of the target system, and whether other tagged\npointer features are in use.\n\nApple has implemented PACs in the Apple A12.\nhttps://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication\n\nThe documented method of stripping PACs from a pointer is to call\nptrauth_strip(), which ultimately emits an `xpaci` instruction, but\nthis option isn\u0027t available to the Breakpad processor not running on\nthe device. Instead, this patch selects likely address bits from\nlink register values by examining the address range of loaded modules.\n\nChange-Id: I054bd1a03605719937fc85dcc8d8b9fe927f44be\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1713650\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "4a6d7c70cc5a007bbd8de2f5a2e226b212e3256f",
      "tree": "483b2d1abdb7a9503045a5115a4f201864034ce4",
      "parents": [
        "02dd8e0da723d1086e46f91f64fe549c4b9cbe00"
      ],
      "author": {
        "name": "Ivan Penkov",
        "email": "ivanpe@chromium.org",
        "time": "Thu Jul 11 18:34:48 2019 -0700"
      },
      "committer": {
        "name": "Ivan Penkov",
        "email": "ivanpe@chromium.org",
        "time": "Fri Jul 12 18:29:23 2019 +0000"
      },
      "message": "Improving the support for Fuchsia in Breakpad Processor.\n\nNow decoding the OS name and exception codes for Fuchsia. Still not decoding exception flags (can be added later, if needed).\n\nChange-Id: If66cb000828be18f0c1b35d1b1f52b3ca3e1fd67\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1699049\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "02dd8e0da723d1086e46f91f64fe549c4b9cbe00",
      "tree": "19181cf5461b72a14a2ef9f83c67ec521d2f523f",
      "parents": [
        "c46151db0ffd1a8dae914e45f1212ef427f61ed3"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Wed Jul 03 15:44:29 2019 -0400"
      },
      "committer": {
        "name": "Mark Mentovai",
        "email": "mark@chromium.org",
        "time": "Fri Jul 12 17:06:06 2019 +0000"
      },
      "message": "Remove base_logging::LogMessage\n\nThis is deprecated in the downstream consumer that it was introduced to\nsupport.\n\nThis undoes b41ad66e93562.\n\nChange-Id: I3e0fa068b134014700128d1d75cae6a20d591d12\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1687125\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\n"
    },
    {
      "commit": "c46151db0ffd1a8dae914e45f1212ef427f61ed3",
      "tree": "a0aeee97019584ff1b7326f65e2b3fe854194dce",
      "parents": [
        "9cafb376ebdf0d00a2fc2323e3eef26ccb27fa1d"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Mon Jul 01 10:27:45 2019 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Mon Jul 01 17:49:32 2019 +0000"
      },
      "message": "Fix Windows symupload after PE-only MD refactor.\n\n- I think I previously fixed this for dump_syms, but must have missed\nthe symupload one because it didn\u0027t have a gn target.\n\nChange-Id: Ibf4daa0dc874f329c2ee7c7b3d4de1ee6bc68d13\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1682717\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\n"
    },
    {
      "commit": "9cafb376ebdf0d00a2fc2323e3eef26ccb27fa1d",
      "tree": "079f530fabd471c73cfd727c93a4e762436a8b77",
      "parents": [
        "a5a607b0b01c7022d7ccba282491c40da204cba2"
      ],
      "author": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Jun 28 12:07:06 2019 -0700"
      },
      "committer": {
        "name": "Nelson Billing",
        "email": "nbilling@google.com",
        "time": "Fri Jun 28 20:44:55 2019 +0000"
      },
      "message": "Explicitly LoadLibrary dbghelp.dll in symbol converter.\n\n- This is a workaround to an issue with gn/clang build of Windows\nsymbol converter where dbghelp.dll is loaded from system32/syswow64\ninstead of alongside the process exe.\n- Why do we care where dbghelp.dll is loaded from? Two considerations:\n  1. dbghelp.dll will only load symsrv.dll from the directory where it\n  resides.\n  2. symsrv.dll requires a file called \"symsrv.yes\" to be in the\n  directory where it resides in order to work with MS symbol stores.\nTherefore if we load dbghelp.dll from syswow64, then we must also\nensure there is a symsrv.dll and symsrv.yes file in syswow64.\n\nChange-Id: Ia283a2c11e276c855a48157aa7be77897af4b02e\nReviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1680670\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nReviewed-by: Ivan Penkov \u003civanpe@chromium.org\u003e\n"
    }
  ],
  "next": "a5a607b0b01c7022d7ccba282491c40da204cba2"
}
