)]}'
{
  "commit": "5019caaea11ecfd4e32cd09b7b7c59bf9b675698",
  "tree": "40cc5983128f415529fa477fc561a54095069ea1",
  "parents": [
    "b19fe0220af3411a4eff9bb0693d7f42c714acc7"
  ],
  "author": {
    "name": "Sam Leffler",
    "email": "sleffler@google.com",
    "time": "Wed Dec 04 14:16:55 2024 -0800"
  },
  "committer": {
    "name": "Sam Leffler",
    "email": "sleffler@google.com",
    "time": "Mon Dec 09 10:09:26 2024 -0800"
  },
  "message": "elfloader: band-aid handling of PHDRs that span flash pages\n\n- inspect the PHDR p_type field without copying the entire header\n  when checking if a PHDR is loadable (we assume the PHDR is\n  word-aligned which is probably ok)\n- advance to a new flash page--as needed--when reading a PHDR\n- add an assert with an informative message when checking for a\n  PHDR that spans flash pages; previously this would trigger an\n  obscure assert when constructing the slice of raw bytes\n- add Elf32Phdr::get_type() to return just the p_type field of a PHDR\n- change Elf32Phdr::from_bytes() to take an immutable ref\n\nThis hacks around problems where the latest CHERIoT lld appends PHDRs\nthat require multiple flash pages but are not loaded. A better fix would\nassemble PHDR\u0027s that span flash pages.\n\nChange-Id: I1cfdc93ecb79fa7008bdfcab8a9210fbaaf89baf\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af19523be0b903248b9dd44c623c92758d9f915c",
      "old_mode": 33188,
      "old_path": "capsules/src/elfloader_capsule.rs",
      "new_id": "0e8075358fc28f8adf8eb20c0933efc71b3edc13",
      "new_mode": 33188,
      "new_path": "capsules/src/elfloader_capsule.rs"
    },
    {
      "type": "modify",
      "old_id": "305582885f82d8f6934dd2d30720f469696db56d",
      "old_mode": 33188,
      "old_path": "utils/src/elf_loader.rs",
      "new_id": "288a79a70df891d60a515a544bcf5aebad4a5ae6",
      "new_mode": 33188,
      "new_path": "utils/src/elf_loader.rs"
    }
  ]
}
