)]}'
{
  "commit": "6418c15d9c9a2a5c008828a10678e3b99caff589",
  "tree": "83a2cf80bdfa1a13102c324a890eb3bd92b3fde4",
  "parents": [
    "05940b9c739aaeb4660f959ed85d8cecfca40eab"
  ],
  "author": {
    "name": "Jonas Devlieghere",
    "email": "jonas@devlieghere.com",
    "time": "Tue Jan 12 21:55:41 2021 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Jan 13 15:19:44 2021 -0800"
  },
  "message": "[dsymutil] Add preliminary support for DWARF 5.\n\nCurrently dsymutil will silently fail when processing binaries with\nDwarf 5 debug info. This patch adds rudimentary support for Dwarf 5 in\ndsymutil.\n\n - Recognize relocations in the debug_addr section.\n - Recognize (a subset of) Dwarf 5 form values.\n - Emits valid Dwarf 5 compile unit header chains.\n\nTo simplify things (and avoid having to emit indexed sections) I decided\nto emit the relocated addresses directly in the debug info section.\n\n - DW_FORM_strx gets relocated and rewritten to DW_FORM_strp\n - DW_FORM_addrx gets relocated and rewritten to DW_FORM_addr\n\nObviously there\u0027s a lot of work left, but this should be a step in the\nright direction.\n\nrdar://62345491\n\nDifferential revision: https://reviews.llvm.org/D94323\n\nGitOrigin-RevId: f1d5cbbdee5526bc86eac0a5652b115d9bc158e5\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97faad6b6180087f009dcd3fcb0b22563df67dc5",
      "old_mode": 33188,
      "old_path": "include/llvm/DWARFLinker/DWARFLinker.h",
      "new_id": "7281966fc608f8716140d64e7bb97327f9640dc8",
      "new_mode": 33188,
      "new_path": "include/llvm/DWARFLinker/DWARFLinker.h"
    },
    {
      "type": "modify",
      "old_id": "549a0ce4e4b765f0cd85b66e02b3b474c808d9c9",
      "old_mode": 33188,
      "old_path": "include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h",
      "new_id": "a6310bcb5df124748912d46db65db019a629e6cd",
      "new_mode": 33188,
      "new_path": "include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h"
    },
    {
      "type": "modify",
      "old_id": "de58f5dedf24069eb27e0a1bfcf2e0690a078476",
      "old_mode": 33188,
      "old_path": "include/llvm/DWARFLinker/DWARFStreamer.h",
      "new_id": "7b08511592523c047d4d1af06cc8ba81663005f9",
      "new_mode": 33188,
      "new_path": "include/llvm/DWARFLinker/DWARFStreamer.h"
    },
    {
      "type": "modify",
      "old_id": "1595b31cb4f9853982d1ba757bf37628be9bfd7f",
      "old_mode": 33188,
      "old_path": "lib/DWARFLinker/DWARFLinker.cpp",
      "new_id": "a09cbf9c95ea7f65293030feaa9085a481401610",
      "new_mode": 33188,
      "new_path": "lib/DWARFLinker/DWARFLinker.cpp"
    },
    {
      "type": "modify",
      "old_id": "f59a9023c69088fa34e1a598bcbf13efb4bcb81f",
      "old_mode": 33188,
      "old_path": "lib/DWARFLinker/DWARFLinkerCompileUnit.cpp",
      "new_id": "925ab3d295c256a749ed346454e427e80182e306",
      "new_mode": 33188,
      "new_path": "lib/DWARFLinker/DWARFLinkerCompileUnit.cpp"
    },
    {
      "type": "modify",
      "old_id": "e900335f24b3b34f7f49bc813670553f281f41af",
      "old_mode": 33188,
      "old_path": "lib/DWARFLinker/DWARFStreamer.cpp",
      "new_id": "c0043ae39efecea5edf4d0b93bfe8f57c2a255e0",
      "new_mode": 33188,
      "new_path": "lib/DWARFLinker/DWARFStreamer.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f47f6a225dec2387edc6a61c1051910717932f4",
      "new_mode": 33188,
      "new_path": "test/tools/dsymutil/Inputs/private/tmp/dwarf5/dwarf5.o"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "420395f0d15b77ba1e6b163d827e667efe69c88b",
      "new_mode": 33261,
      "new_path": "test/tools/dsymutil/Inputs/private/tmp/dwarf5/dwarf5.out"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9d1ad3c4fdf47d1798a583156101358fceda2d57",
      "new_mode": 33188,
      "new_path": "test/tools/dsymutil/X86/dwarf5.test"
    },
    {
      "type": "modify",
      "old_id": "bd9529c4cd0f910c0a41cad7f3c6e0545903985e",
      "old_mode": 33188,
      "old_path": "tools/dsymutil/DwarfLinkerForBinary.cpp",
      "new_id": "29408e7c49468a3754960e5e17471c07047f044e",
      "new_mode": 33188,
      "new_path": "tools/dsymutil/DwarfLinkerForBinary.cpp"
    },
    {
      "type": "modify",
      "old_id": "ec157e38ccf911655f0e809c95fcdd8bdbc4b928",
      "old_mode": 33188,
      "old_path": "tools/dsymutil/DwarfLinkerForBinary.h",
      "new_id": "c6c07d689f6fdc217102eec8f45eccdf84134074",
      "new_mode": 33188,
      "new_path": "tools/dsymutil/DwarfLinkerForBinary.h"
    }
  ]
}
