)]}'
{
  "log": [
    {
      "commit": "4cc36d2b4355401b91c5fd7d153f1c421bf1c6cf",
      "tree": "ff518db3f138fdc121412ca066bed11b4683eee1",
      "parents": [
        "3ee8926f5dc70f5740ec235f2a0cf3abd29ac543"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 06 14:47:31 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 11 18:53:55 2018 -0700"
      },
      "message": "Fix handling of load bias values.\n\nIt turns out that for the dwarf information, if a FDE indicates it\u0027s pc\nrelative, then pc has to be incremented by the load bias. If not, then\nit should not be incremented.\n\nPreviously, the code always subtracted load bias values from pcs, and assumed\nthat all fdes were incremented by load bias values. The new code actually\nreads the fdes and adjusted the pcs in the fde and in the eh frame hdr so\nthat load bias values are already handled properly.\n\nIn addition, add dumping of arm exidx values in unwind_reg_info. This allowed\nverifying that the debug frame in those elf files was being handled properly.\n\nAdded a new unit test that only has a debug frame that has a non-zero load\nbias and has fde entries that do not have pc relative encoding.\n\nFix a couple of other small bugs.\n\nBug: 109824792\n\nTest: All libbacktrace/libunwindstack unit tests pass.\nTest: Ran ART 137-cfi test and 004-ThreadStress.\nTest: Verify that displaying the fde start and end pc actually match the\nTest: real data for fde that have pc relative set, and that don\u0027t.\nTest: Verified that the unwind information for arm exidx matches the\nTest: debug frame data.\n\nChange-Id: I707555286b5cb05df9f25489e8c5ede753cfe0fb\n"
    },
    {
      "commit": "53914165e4a19e4a320cf3394e4fabff4e89d7c6",
      "tree": "7b48d5313031761ea5b8714c58a52457f2aa2977",
      "parents": [
        "2ccde89153321d2c98787d6320ac15602494a78d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 08 19:27:47 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 08 19:29:08 2018 -0800"
      },
      "message": "Expose per arch headers.\n\nBug: 73013352\n\nTest: Compiles.\nChange-Id: Ic05660db7d7858a9857143ee5e58cdaddcf52a35\n"
    },
    {
      "commit": "2fcf4cf13e9aefa8c312084af12ca2d712a6ead3",
      "tree": "b5221be7ee35e1b7e2cfed8f931a704cc5f40da4",
      "parents": [
        "335675c2fd8ff39e5af635eb375edc766147cbb9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 23 17:52:23 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 24 17:50:46 2018 -0800"
      },
      "message": "Add error propagation into Unwinder/Elf objects.\n\nThe backtrace offline code uses these error codes to diagnose errors.\nIn addtion, I\u0027ve had cases where seeing these errors would help diagnose\nfailures.\n\nThis also allows us to add a few features to indicate why an unwind\nterminated (such as max frames exceeded).\n\nBug: 65682279\n\nTest: Updated unit tests pass.\nChange-Id: If82b5092698e8a194016d670efff1320f9b44d50\n"
    },
    {
      "commit": "d06001d6e07b14b865f3294fff82d2571ed7cb2c",
      "tree": "658e3e571743464b47bad3a5642e2ab0bd41fa40",
      "parents": [
        "1ae6d14f938c05654a4bef99a54503dbb2409572"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 30 18:56:01 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Dec 06 16:01:40 2017 -0800"
      },
      "message": "Split arch data into separate files.\n\nAdd an ArchEnum to express the arch of the Elf objects and Reg objects.\n\nSplit out the regs code into per arch pieces and generic parts.\nAlso, split out the header files for each arch.\n\nDo not break out the test code yet, there isn\u0027t enough and it doesn\u0027t\nhelp to maintain the tests.\n\nTest: libunwindstack/libbacktrace/debuggerd unit tests pass.\nTest: Running debuggerd -b \u003cPIDS\u003e yields valid data on bullhead.\nChange-Id: If61f6c730c9ff2249f986b41de8c4d62f7158325\n"
    },
    {
      "commit": "d226a5140989f509a0ed3e2723f05d5fc93ce8df",
      "tree": "ffe7078dc51b6292506856c0a0982d2e8596612f",
      "parents": [
        "b76158d56af33f512cad32c5e948656e47a73216"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 14 10:37:19 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 14 12:20:23 2017 -0700"
      },
      "message": "Make the library usable as a library.\n\n- Add namespace unwindstack everywhere so that it\u0027s easier for other\n  code to use the library.\n- Move some of the header files into include/unwindstack so that they\n  can be exposed.\n- Modify the headers so that only a limited number need to be exposed.\n- Update the tools to use the new headers.\n- Add a GetLoadBias() call on the Elf object. This prevents the need\n  to get the interface object out of the Elf object.\n- Move the GetRelPc() call out of the Reg class, to the Elf class. It\u0027s\n  not always the case that a Reg object will be around when you want to\n  get a relative pc. The tests for this moved to ElfTest.cpp.\n\nBug: 23762183\n\nTest: Unit tests pass.\nChange-Id: Iac609dac1dd90ed83d1a1e24ff2579c96c023bc3\n"
    },
    {
      "commit": "9416703f5b37cde61fe8f3e3572b84b21e06ea81",
      "tree": "696bf3c03b57ac3d2b27bfdb6bf43c10093862a4",
      "parents": [
        "51b4f48280bed76bdc8c1758ff6c77435989a33e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 28 18:56:52 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 29 10:29:43 2017 -0700"
      },
      "message": "Remove assert, use CHECK instead.\n\n- Use the CHECK macro everywhere that assert was used.\n- Remove the _debug version of the tests and leave the CHECK macro so\n  it\u0027s always checking in the code.\n\nBug: 23762183\n\nTest: Ran unit tests.\nChange-Id: Ie705eedae393d0e95bb9d99f852687a11881aef1\n"
    },
    {
      "commit": "3958f8060ac0adccd977c0fab7a53d45f3fce58d",
      "tree": "cd01b1ab589fcc42479147ad1806b16f8fee8ce0",
      "parents": [
        "e88882e16e3fa5820e9e768fdceb7aa84f8256fc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 01 15:44:40 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Mar 09 12:27:16 2017 -0800"
      },
      "message": "Elf interface for new unwinder.\n\nThis cl includes the code to read arm unwind information from a shared\nlibrary.\n\nBug: 23762183\n\nTest: Passes all unit tests. I can dump the arm unwind information\nTest: for an arm shared library.\nChange-Id: I43501ea2eab843b81de8bd5128401dd1971af8d3\n"
    },
    {
      "commit": "723cf9b6e61744f7a20a807e67ab50adb9db5d42",
      "tree": "8bc95027c1552ce1bd83f9900c3bbf6115125cd3",
      "parents": [
        "18044da57674dff66af818a05b70afdb51a11d05"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 19 20:08:48 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 25 12:21:51 2017 -0800"
      },
      "message": "New version of unwinder.\n\nBug: 23762183\n\nTest: All unit tests pass.\nChange-Id: I0ac69e55af56e1142c0a1ee3715cdc48f2ed3ec3\n"
    }
  ]
}
