)]}'
{
  "commit": "0635b096ce714bdd94d829a4909db4e1cba42b6d",
  "tree": "bb8302dc021a65c1468bd5e03293ca48b3b8a45a",
  "parents": [
    "d136a6d33c51a5688728a166f835af2d5b3bf92b"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Tue Mar 28 13:03:38 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 28 20:03:38 2023 +0000"
  },
  "message": "Adding FatELF support to the embedded ELF loader. (#12624)\n\nThis is implemented based on the textual spec from the FatELF project.\r\nFatELF is dead and is unlikely to ever be merged into Linux but it\r\nexists and is sufficient for our purposes of deploying plugins in\r\nportable ELF formats. No one ever specified a file extension as it was\r\nassumed it\u0027d become part of .so but to avoid confusion I\u0027ve used \u0027.sos\u0027.\r\n\r\nA simple `iree-fatelf` tool is added for working with the FatELF files\r\nand does not need anything from the original FatELF project. We can ship\r\nthis in releases to allow end-users building plugins to package up their\r\nELFs in a compatible format.\r\n\r\nThe FatELF format is documented here: https://icculus.org/fatelf/ +\r\nhttps://github.com/icculus/fatelf",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a25058c1966ce90ff19d8aab3eac13954128b242",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/BUILD.bazel",
      "new_id": "337dbe3495b3d93c688a6be25a817a7c1b112ef0",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "808aa49d3532dd692c521c57b7dddf0e7f63c285",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/CMakeLists.txt",
      "new_id": "569277cd128900c3a92b18ab4bcfac2cad13ccb2",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "9b324d8a2089d5e083ec830c70255af133b2b405",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/arch.h",
      "new_id": "1e32c000ae76ad07427a884bf818c248d39fd014",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/arch.h"
    },
    {
      "type": "modify",
      "old_id": "96a15fede67c3ad080ac5f261a2f87b068c943c2",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/arch/arm_32.c",
      "new_id": "9fed7d79a12f38d73374185561c9eb0b432c9c59",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/arch/arm_32.c"
    },
    {
      "type": "modify",
      "old_id": "636477b918d315ee6caaf4a66f57eb46b6bcf504",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/arch/arm_64.c",
      "new_id": "77bdc160b70059c3d19311fd0be411503ed95901",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/arch/arm_64.c"
    },
    {
      "type": "modify",
      "old_id": "f35f1f7590160166112b88a5f17c49fc7888db1d",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/arch/riscv.c",
      "new_id": "7265849f7ead60999b33e8b086bdd953593586d3",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/arch/riscv.c"
    },
    {
      "type": "modify",
      "old_id": "7e454a09ae285e958da2fa0a176a6cb63bd5ed67",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/arch/x86_32.c",
      "new_id": "18ce0653571bd58a74dc444a61eb50c3968817d1",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/arch/x86_32.c"
    },
    {
      "type": "modify",
      "old_id": "3ad95442c560127c3fdbf6db37b42d44bb26c00d",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/arch/x86_64.c",
      "new_id": "782b68bd9e4386da19fb950335fe90323face6d0",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/arch/x86_64.c"
    },
    {
      "type": "modify",
      "old_id": "db0e1ce5393895fde5325477b4408f914aa78e66",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/elf_module.c",
      "new_id": "c75c327714ca455a3dac8fed546c86f82132a505",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/elf_module.c"
    },
    {
      "type": "modify",
      "old_id": "3952786f9c267c2a5ca20bf15eed88156e3e6b9b",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/local/elf/elf_types.h",
      "new_id": "7b350bbf9824335ae93b1878ae17730fac7faba3",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/elf_types.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2d59bb0926ae95aec952133447c07dfcea0f9753",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/fatelf.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7d7a6472af180a661d2446120c22549b6373d667",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/local/elf/fatelf.h"
    },
    {
      "type": "modify",
      "old_id": "7c7ace06a1679a52c01be753dca69ba840cc1751",
      "old_mode": 33188,
      "old_path": "tools/BUILD.bazel",
      "new_id": "310962a583447e473e5ac85c03d8a0f1577f8220",
      "new_mode": 33188,
      "new_path": "tools/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f1f61793297f4016d147d564444d41ee43aa9669",
      "old_mode": 33188,
      "old_path": "tools/CMakeLists.txt",
      "new_id": "d6ad66d5f4332725de2512399f6b3ad250ba3a7c",
      "new_mode": 33188,
      "new_path": "tools/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "11399e15ce38d4eec3a18d051e01c69c5b4fde7f",
      "new_mode": 33188,
      "new_path": "tools/iree-fatelf.c"
    }
  ]
}
