)]}'
{
  "commit": "7d507dc6e608e800bc26a5850259bbdb05abdf65",
  "tree": "185c30263233f4d172355f1aba12f61a03bb7e3b",
  "parents": [
    "8642cbd660cd8f62f77a37227c640b234fcf9c30"
  ],
  "author": {
    "name": "Russ Cox",
    "email": "rsc@golang.org",
    "time": "Sun Dec 08 22:49:37 2013 -0500"
  },
  "committer": {
    "name": "Russ Cox",
    "email": "rsc@golang.org",
    "time": "Sun Dec 08 22:49:37 2013 -0500"
  },
  "message": "liblink: create new library based on linker code\n\nThere is an enormous amount of code moving around in this CL,\nbut the code is the same, and it is invoked in the same ways.\nThis CL is preparation for the new linker structure, not the new\nstructure itself.\n\nThe new library\u0027s definition is in include/link.h.\n\nThe main change is the use of a Link structure to hold all the\nlinker-relevant state, replacing the smattering of global variables.\nThe Link structure should both make it clearer which state must\nbe carried around and make it possible to parallelize more easily\nlater.\n\nThe main body of the linker has moved into the architecture-independent\ncmd/ld directory. That includes the list of known header types, so the\ndistinction between Hplan9x32 and Hplan9x64 is removed (no other\nheader type distinguished 32- and 64-bit formats), and code for unused\nformats such as ipaq kernels has been deleted.\n\nThe code being deleted from 5l, 6l, and 8l reappears in liblink or in ld.\nBecause multiple files are being merged in the liblink directory,\nit is not possible to show the diffs nicely in hg.\n\nThe Prog and Addr structures have been unified into an\narchitecture-independent form and moved to link.h, where they will\nbe shared by all tools: the assemblers, the compilers, and the linkers.\nThe unification makes it possible to write architecture-independent\ntraversal of Prog lists, among other benefits.\n\nThe Sym structures cannot be unified: they are too fundamentally\ndifferent between the linker and the compilers. Instead, liblink defines\nan LSym - a linker Sym - to be used in the Prog and Addr structures,\nand the linker now refers exclusively to LSyms. The compilers will\nkeep using their own syms but will fill out the corresponding LSyms in\nthe Prog and Addr structures.\n\nAlthough code from 5l, 6l, and 8l is now in a single library, the\ncode has been arranged so that only one architecture needs to\nbe linked into a particular program: 5l will not contain the code\nneeded for x86 instruction layout, for example.\n\nThe object file writing code in liblink/obj.c is from cmd/gc/obj.c.\n\nPreparation for golang.org/s/go13linker work.\n\nThis CL does not build by itself. It depends on 35740044\nand will be submitted at the same time.\n\nR\u003diant\nCC\u003dgolang-dev\nhttps://golang.org/cl/35790044\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1d6aec49eebc69dc86a3d16b34c78fe9948c61d8",
      "new_mode": 33188,
      "new_path": "include/link.h"
    },
    {
      "type": "modify",
      "old_id": "44bfcd63b23120d7844fcfed49d6fdb2d2042b09",
      "old_mode": 33188,
      "old_path": "include/u.h",
      "new_id": "6b2d50cc1f97143f22edeeebcaa138f1768aba7b",
      "new_mode": 33188,
      "new_path": "include/u.h"
    },
    {
      "type": "modify",
      "old_id": "ebbadde2c978b734333268bd33be6571b14fa16a",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/5.out.h",
      "new_id": "f832f2af8510b5c3a0f4a46157bc08861c6eeec3",
      "new_mode": 33188,
      "new_path": "src/cmd/5l/5.out.h"
    },
    {
      "type": "modify",
      "old_id": "33cdf80968d36e0c0b183f27884c66a3465dad26",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/asm.c",
      "new_id": "85600cabf6f72bca04c31579cc091f390d9c2749",
      "new_mode": 33188,
      "new_path": "src/cmd/5l/asm.c"
    },
    {
      "type": "modify",
      "old_id": "ae4b05ba1dfc957ea5fe6aa78443b114a80c8343",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/l.h",
      "new_id": "25f5810478f40046b028ccc3e9edc2457ea1e7ea",
      "new_mode": 33188,
      "new_path": "src/cmd/5l/l.h"
    },
    {
      "type": "modify",
      "old_id": "7502a3b818671e7c4bdcfee54eb11bb83497c239",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/list.c",
      "new_id": "02a9575793e4dd6acd1fc782838822dd6650295a",
      "new_mode": 33188,
      "new_path": "src/cmd/5l/list.c"
    },
    {
      "type": "modify",
      "old_id": "305ed684ee4d2c0a09aaad78060293abaad5a5ec",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/noop.c",
      "new_id": "d42c862892e2273318b8e0c0cce795581c56c015",
      "new_mode": 33188,
      "new_path": "src/cmd/5l/noop.c"
    },
    {
      "type": "modify",
      "old_id": "80f5787dc44ef7601642c0be599c43a400ce3593",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/obj.c",
      "new_id": "96198f99c08d3023926525dec14b2e9fbc52f2bb",
      "new_mode": 33188,
      "new_path": "src/cmd/5l/obj.c"
    },
    {
      "type": "delete",
      "old_id": "3d05d6d09d484aef9109bc948eb3fea389ac7299",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/optab.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "cd8897989a38b2e5c4ca74cf4ff30eced8c0cf9f",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/pass.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "225a524353140ffb09231f2f9a63062b6a81baa1",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/prof.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "de6481c7102d503f0141f25f99227c536e06749a",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/softfloat.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e7cc0b4b1f3a18ccc90199cc58b81069de497307",
      "old_mode": 33188,
      "old_path": "src/cmd/5l/span.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "64c8ac2fe55b45574cf553cbe0cb15e762aa5e5d",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/6.out.h",
      "new_id": "f5ade5a34aa37329e7a7d827dcba5041d702c98b",
      "new_mode": 33188,
      "new_path": "src/cmd/6l/6.out.h"
    },
    {
      "type": "modify",
      "old_id": "a09cc9727ca07f5429c8cfd9cc86ded113f5fe83",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/asm.c",
      "new_id": "084e2cc6a7c3233053079017a864e4ca8b961824",
      "new_mode": 33188,
      "new_path": "src/cmd/6l/asm.c"
    },
    {
      "type": "modify",
      "old_id": "ecab867e4302293b9ba949d00137f3571b70a9e4",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/l.h",
      "new_id": "d2a8d94b1e9b607707b7f9de24c5850f19aba637",
      "new_mode": 33188,
      "new_path": "src/cmd/6l/l.h"
    },
    {
      "type": "modify",
      "old_id": "5040e432716408e0be63f985b46c3091a760edf8",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/list.c",
      "new_id": "4a7b0d04ac2d33386fb99d1293ceaca6e80c7ea1",
      "new_mode": 33188,
      "new_path": "src/cmd/6l/list.c"
    },
    {
      "type": "modify",
      "old_id": "ae649a74b63b5954513e26567b99f3b30e367ce5",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/obj.c",
      "new_id": "ac3273f9398c98ff00c8e38ea2b6d1b851a90a19",
      "new_mode": 33188,
      "new_path": "src/cmd/6l/obj.c"
    },
    {
      "type": "delete",
      "old_id": "f48c6c329d33f89ead458897a420f0d9ad049925",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/optab.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "1be3c18fe22b8df659088193a661ea5241721f0b",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/pass.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "862ce080cdfd1afde95df08f15257db144c5c2ca",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/prof.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "74f11d635a8bdf96dbdff39edcf2754db5758a75",
      "old_mode": 33188,
      "old_path": "src/cmd/6l/span.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "a28115eb4870ca6f37bdd32e6560f01ba0ce16fb",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/8.out.h",
      "new_id": "8319482ca3f85833ad863f97b4ad760046289c19",
      "new_mode": 33188,
      "new_path": "src/cmd/8l/8.out.h"
    },
    {
      "type": "modify",
      "old_id": "3be37ea22c1b14bb096fa5ba1fde30c37b9fb026",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/asm.c",
      "new_id": "46e8e47ecdc0fcd977c91d115e7ffea7f589ec2d",
      "new_mode": 33188,
      "new_path": "src/cmd/8l/asm.c"
    },
    {
      "type": "modify",
      "old_id": "814aa14582ca5c7bd0774885e6f0c5a79c903409",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/l.h",
      "new_id": "928e2e49ab5b905b2851f05d27ee82f706df2a50",
      "new_mode": 33188,
      "new_path": "src/cmd/8l/l.h"
    },
    {
      "type": "modify",
      "old_id": "e2a2ec5edc7d03d1d391c7cbfb25b9a5d0f3ae2a",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/list.c",
      "new_id": "8e57b4af1c951934dd3d18cefb72b23aafdbb40d",
      "new_mode": 33188,
      "new_path": "src/cmd/8l/list.c"
    },
    {
      "type": "modify",
      "old_id": "3fdc413810e25c67e5a7f900b309421a049470bc",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/obj.c",
      "new_id": "e588060bee277f924a177638434219b951520901",
      "new_mode": 33188,
      "new_path": "src/cmd/8l/obj.c"
    },
    {
      "type": "delete",
      "old_id": "19952e5f9324d146ed95877fe41e2b6a1b012e64",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/optab.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "1eaf78fe0a706bc97821b259ee6ce61818dd0984",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/pass.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "d99c5e4084ce9619de31a587f7de2ac902cbd3dc",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/prof.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "acf973cabf4e946c8cd65b666d07e36d030c4b71",
      "old_mode": 33188,
      "old_path": "src/cmd/8l/span.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "30d7c81856c5088ae4ed155513212fdfe425b770",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/data.c",
      "new_id": "ac28041fbba7941dfe082879fdd5128179f44376",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/data.c"
    },
    {
      "type": "modify",
      "old_id": "ab3f4fbd55a0565ff9dd662c0c85d4b6a82fb005",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/decodesym.c",
      "new_id": "3859d1c6d8202fa3cf734dea119307b86175a576",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/decodesym.c"
    },
    {
      "type": "modify",
      "old_id": "c832bcc9441ded3fe358550e6784c30a0f9f6756",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/dwarf.c",
      "new_id": "8170abe3357e08eba9e941620db11bdae7a18e26",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/dwarf.c"
    },
    {
      "type": "modify",
      "old_id": "f0df2f9b1ee8d4628a5a5b54e53f7166b2c4615f",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/dwarf.h",
      "new_id": "7952a7436907b5024ed73e4f305eb3a0c5c9abbd",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/dwarf.h"
    },
    {
      "type": "modify",
      "old_id": "6b3638ec56f6c63032b2da7e608d3927df62abf9",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/elf.c",
      "new_id": "8c7ca86097847d8b0eedfc4d105741fc0aad6a7a",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/elf.c"
    },
    {
      "type": "modify",
      "old_id": "5b2ff041a30d8c6183c035bd6a8445966bb5c96d",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/elf.h",
      "new_id": "76085c7c6ec7baabdac213c486abc99fc17151d8",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/elf.h"
    },
    {
      "type": "modify",
      "old_id": "39ffa3d87343cff58b561357a4775dd3a3773bc2",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/go.c",
      "new_id": "9950a3886e9f795557634279ecc5fa402abc9941",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/go.c"
    },
    {
      "type": "modify",
      "old_id": "27041bc472c654fcb0fc0cc5eafd61d63b5a9440",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/ldelf.c",
      "new_id": "4bc830ef32120a4327b2bee6e18d4d01eac27a14",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/ldelf.c"
    },
    {
      "type": "modify",
      "old_id": "e0f5405f69cae0d795e67fdb92317657e5e230ce",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/ldmacho.c",
      "new_id": "7318381e35e93966dd48c91520bc5c0cca82be26",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/ldmacho.c"
    },
    {
      "type": "modify",
      "old_id": "6bcda2cb66429c9987e39e82a284aa77aa6e7f12",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/ldpe.c",
      "new_id": "f7e4bfcdb25e4f4d0afa51cd56cb53e8de10c9bc",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/ldpe.c"
    },
    {
      "type": "modify",
      "old_id": "da522dc0c78bacf58b9feb8ac5c3874fac8b09d1",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/lib.c",
      "new_id": "56e50acb9598c105cb00931c8e095b70b9a9bcc1",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/lib.c"
    },
    {
      "type": "modify",
      "old_id": "be95bb46e81b14cf1495b85a147fbc5a9ea1438b",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/lib.h",
      "new_id": "63e2825119eae3383442d453b97334e598d56604",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/lib.h"
    },
    {
      "type": "modify",
      "old_id": "d135a92dafe1f7ec75d715efcbdc0d19d13f49b7",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/macho.c",
      "new_id": "49db83eea252d86a82e1c61e32b9cde4f5a31bd3",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/macho.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "788b7c75a6f8eb11b40e2c938614d0313da91791",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/pass.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5934dbcdfae72ee0c029d0f664799adae1b83231",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/pcln.c"
    },
    {
      "type": "modify",
      "old_id": "7b9a596fce280a9223f5e7834445393ddb1d966c",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/pe.c",
      "new_id": "e4848643ee73e2eb7ff50b35fc486cfce31942a0",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/pe.c"
    },
    {
      "type": "modify",
      "old_id": "7aa938829367a9c577a2dbcfb74dfa0272263ad6",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/pe.h",
      "new_id": "03ed8d830ae58fa75768d59fa6a58f4a982144b9",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/pe.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8883d37866e36c9a20425d2629b0e002a5b912c4",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/pobj.c"
    },
    {
      "type": "modify",
      "old_id": "c9b4657f70e431bc9e208690f42150d4db007694",
      "old_mode": 33188,
      "old_path": "src/cmd/ld/symtab.c",
      "new_id": "54e6041483b06c449c57eb3301c50d0b4da0e479",
      "new_mode": 33188,
      "new_path": "src/cmd/ld/symtab.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a317462b3010cc6c10575d84793ecd85ccd25bc",
      "new_mode": 33188,
      "new_path": "src/liblink/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8ed8bea57e716ed2f8397dfa019d251e5e4058bf",
      "new_mode": 33188,
      "new_path": "src/liblink/asm5.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "019ec068499f4e421d4fdf8d28926b1c4f4664e1",
      "new_mode": 33188,
      "new_path": "src/liblink/asm6.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6246276567265b357fb72ae6d56506dd93a7e5f0",
      "new_mode": 33188,
      "new_path": "src/liblink/asm8.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "97d2260418d12a6ddf2bc73241a0d24a7a7c4edc",
      "new_mode": 33188,
      "new_path": "src/liblink/data.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f5a423d3881e81f44351d1568db5b22498a016b",
      "new_mode": 33188,
      "new_path": "src/liblink/go.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6632877bbb13e1924709aa11e5d6e42466ab0a4",
      "new_mode": 33188,
      "new_path": "src/liblink/ld.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eacbc4011a4047a7bafdb63435d022736aff4f4b",
      "new_mode": 33188,
      "new_path": "src/liblink/obj.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e9c0b57318135c1dc22d15cbd99643a7e71a7753",
      "new_mode": 33188,
      "new_path": "src/liblink/obj5.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd24d1d9e89f1a7337b692c36b3b136859db09a6",
      "new_mode": 33188,
      "new_path": "src/liblink/obj6.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e744abe55ee344e4efb631d8d5eb0ec3bf929528",
      "new_mode": 33188,
      "new_path": "src/liblink/obj8.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3fe77d61bf111d8e41394471d4520b5dcc8645b9",
      "new_mode": 33188,
      "new_path": "src/liblink/pass.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "21eb94414fef8c5786b540bba77e73ead123a45a",
      "new_mode": 33188,
      "new_path": "src/liblink/pcln.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2a8b8223185833d7a9598d76c637a2559a150de",
      "new_mode": 33188,
      "new_path": "src/liblink/rdobj5.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52ed18b93de15e24393eeb4289601f8508461d24",
      "new_mode": 33188,
      "new_path": "src/liblink/rdobj6.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d84e42889ab9831239337260e1a7ed253cb209d1",
      "new_mode": 33188,
      "new_path": "src/liblink/rdobj8.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e876a5ca046a498d33e043e6801c9c778f6ac39c",
      "new_mode": 33188,
      "new_path": "src/liblink/sym.c"
    }
  ]
}
