)]}'
{
  "commit": "9a272a822fd8ad573f325c256ef8285f6c91ddc9",
  "tree": "5ce4e18973c0ebea06a00541864de367611eaa12",
  "parents": [
    "2b8e38493d52342c6a26a0138526d7958d8fbd12"
  ],
  "author": {
    "name": "Roland McGrath",
    "email": "mcgrathr@google.com",
    "time": "Fri Sep 18 14:25:46 2026 -0700"
  },
  "committer": {
    "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Sep 18 14:25:46 2026 -0700"
  },
  "message": "[elfldltl] Add ElfApi concept\n\nAdd a concept matching only the Elf\u003c...\u003e types and use it in all\nthe template parameters.  Misceallaneous modernization cleanups\nin various files touched.\n\nChange-Id: Ia411c79743beaeb77e0fd8cbfc654f0f2e886b6f\nReviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1830949\nFuchsia-Auto-Submit: Roland McGrath \u003cmcgrathr@google.com\u003e\nReviewed-by: Paul Kirth \u003cpaulkirth@google.com\u003e\nCommit-Queue: Roland McGrath \u003cmcgrathr@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9565b5cf146c9181031f0168356fd05d65064b6a",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h",
      "new_id": "545f372b5cbd556b364d1cc513126f9c1637d9fb",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h"
    },
    {
      "type": "modify",
      "old_id": "bf4d63a4151a2a3d1fb149206856a0cd300218f2",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/abi-span.h",
      "new_id": "366e6d8059159549c1606a192bd95b3242cd371d",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/abi-span.h"
    },
    {
      "type": "modify",
      "old_id": "368abff4337a7b5540bb51032f66a562e11288a6",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/compat-hash.h",
      "new_id": "b65697566177f84b4e31e3dc25a68b1cf7cf055b",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/compat-hash.h"
    },
    {
      "type": "modify",
      "old_id": "943995b7df45b5000363eb44ec977f23953ce86f",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/constants.h",
      "new_id": "e9bf9e907dad5db1dddf1978165d787095e26a56",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/constants.h"
    },
    {
      "type": "modify",
      "old_id": "f0a066848e7b34a92faa20485d20e66fe576be35",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/cfi-entry.h",
      "new_id": "317a6906c0541d9b34e63c85e78ee4521b29e9d5",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/cfi-entry.h"
    },
    {
      "type": "modify",
      "old_id": "1a9bcccdd55ad85822158c27c4ee7a90c178c94c",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/eh-frame-hdr.h",
      "new_id": "b518420dce0bd1f08c759838ec4928cd98d0ebc1",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/eh-frame-hdr.h"
    },
    {
      "type": "modify",
      "old_id": "665cf9c6fd013e77df971f813e7c40e88fd11403",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/encoding.h",
      "new_id": "f712f51ba0d435cdcb55bf197020c19da9573952",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/encoding.h"
    },
    {
      "type": "modify",
      "old_id": "9de3aa509bd56153a07a014a91cc40ec06b6e7cf",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/section-data.h",
      "new_id": "03ce005cc5328217c358597eca862ade2eee9523",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/dwarf/section-data.h"
    },
    {
      "type": "modify",
      "old_id": "e92f110006233ee10bb3d0fedca58a1e39e8e505",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/dynamic.h",
      "new_id": "12a3493fe11bbfd36a4ba18cdaa580cbf592fbf2",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/dynamic.h"
    },
    {
      "type": "modify",
      "old_id": "ce3321094f5bc80d4189482d6ae7f715395ac850",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/gnu-hash.h",
      "new_id": "13d03da1cd7bbc8adf8e03cbfd25796414ea4b85",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/gnu-hash.h"
    },
    {
      "type": "modify",
      "old_id": "1ee47f7ebf9ca490c6b038b970d997d19c5da64a",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/init-fini.h",
      "new_id": "0affa2f0e39feb8b30473915e1a28cb3ec42cb49",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/init-fini.h"
    },
    {
      "type": "modify",
      "old_id": "0ade87f69dd54a0d4c9f4b5e9e8850f9376d28a2",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/internal/abi-span.h",
      "new_id": "09b28ac467bc16bbabd8b52586cc9e58be395631",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/internal/abi-span.h"
    },
    {
      "type": "modify",
      "old_id": "e0a14a7ce97e36fd4e2f707a7ce328d1c7f1f517",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/layout.h",
      "new_id": "d19f0b52091a524d5b5506ad045d33c600f459a9",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/layout.h"
    },
    {
      "type": "modify",
      "old_id": "e1c340e9b78e78e2915c99f1917e46bc33149151",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/link.h",
      "new_id": "eed9292ed9a652445abb1bd94709d0277175a005",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/link.h"
    },
    {
      "type": "modify",
      "old_id": "4f9aaed9a227e6e758044efc6879c2f7f6d682b6",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/load.h",
      "new_id": "ec00e0a5ee8f0c840fbf171a5bdd0388b135307d",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/load.h"
    },
    {
      "type": "modify",
      "old_id": "e3451ac391f9fce63e6f4bbe7c95b79b31a3dfb0",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/machine.h",
      "new_id": "66b102395296f70a8ace831599e3b28cb4b147e8",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/machine.h"
    },
    {
      "type": "modify",
      "old_id": "6b9e27d5f0dba00ad572e24a9a84edb54d6c99c2",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/note.h",
      "new_id": "4756bbff286eb396e5649be79ed210b79b66574e",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/note.h"
    },
    {
      "type": "modify",
      "old_id": "c08e00ed5e042d4995640dfef4dd0f44f2bd62e0",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/perfect-symbol-table.h",
      "new_id": "84b0af4db753585c4d66403ecaba6df4cc944e92",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/perfect-symbol-table.h"
    },
    {
      "type": "modify",
      "old_id": "b7d1d7822ae576a4b765a6ccb07dbd713a9e0c7c",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/phdr.h",
      "new_id": "79f4c4da00e69220cbc56f689eb0c9b711fc9876",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/phdr.h"
    },
    {
      "type": "modify",
      "old_id": "52bba44449dd869bc43eedcf12f24422402ddbde",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/relocation.h",
      "new_id": "a1220fc45f95bcd6d5f96c9c9741a9db73eacd37",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/relocation.h"
    },
    {
      "type": "modify",
      "old_id": "27ecc9f9b8b4a215dda564e749f4fc20b566bc43",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/resolve.h",
      "new_id": "e576259a86820ff35f88fd91e632eaa6b5783cf5",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/resolve.h"
    },
    {
      "type": "modify",
      "old_id": "a0c23fe586f146bbda7660d8e6675e3cc7c9f158",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/segment-with-vmo.h",
      "new_id": "5fd264b304d554bb5e782c29f661505a28cf474f",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/segment-with-vmo.h"
    },
    {
      "type": "modify",
      "old_id": "6fbd2f7870d767fd49f14c9a23798ac286d8100d",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/soname.h",
      "new_id": "cb0ea55bfb6af2cc7bfbacdc95e32484531c9624",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/soname.h"
    },
    {
      "type": "modify",
      "old_id": "c720953b0ab79071da6f9327e75c1083fd4fa65b",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/static-pie-with-vdso.h",
      "new_id": "c3e2e129cf4b1cb53640c928afe3281f9e799623",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/static-pie-with-vdso.h"
    },
    {
      "type": "modify",
      "old_id": "7c0701f0d837bf8320d70c8cd602b153b51420eb",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/symbol.h",
      "new_id": "6c9329b52a4f215c6fa4de9645750487c0973458",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/symbol.h"
    },
    {
      "type": "modify",
      "old_id": "908e5ecd55fe3e99923813e3d6e5da924aef501a",
      "old_mode": 33188,
      "old_path": "src/lib/elfldltl/include/lib/elfldltl/tls-layout.h",
      "new_id": "14280503e8451e78394aeb68f07e9b290cdf3207",
      "new_mode": 33188,
      "new_path": "src/lib/elfldltl/include/lib/elfldltl/tls-layout.h"
    }
  ]
}
