)]}'
{
  "commit": "3949fb481a6739dc1f4dc5fad09d7646c90af3d2",
  "tree": "935527ce9418cd6134ed2e8fac36cdc2f3168f58",
  "parents": [
    "9eae5ed721cd117c492fcb4516724bf093d4ea2d"
  ],
  "author": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Wed Feb 11 15:31:33 2026 +1030"
  },
  "committer": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Wed Feb 11 15:31:33 2026 +1030"
  },
  "message": "Free sframe encoder context\n\nLike the patch to free sframe decoder data, this also needs to ensure\nthe function doing the free is passed the actual context address.\n\nbfd/\n\t* elf-sframe.c (_bfd_elf_write_section_sframe): Don\u0027t pass\n\taddress of local var to sframe_encoder_free, pass the actual\n\tcontext address.\n\t* elf64-s390.c (elf_s390_link_hash_table_free): New function.\n\t(elf_s390_link_hash_table_create): Set hash_table_free.  Tidy\n\tzmalloc call.\n\t(_bfd_s390_elf_write_sframe_plt): Don\u0027t pass address of local\n\tvar to sframe_encoder_free, pass the actual context address.\n\t* elflink.c: Include sframe-api.h.\n\t(_bfd_elf_link_hash_table_free): Free sframe encoder data.\n\t* elfxx-x86.c (elf_x86_link_hash_table_free): Likewise.\n\t(_bfd_x86_elf_write_sframe_plt): Don\u0027t pass address of local\n\tvar to sframe_encoder_free, pass the actual context address.\nlibsframe/\n\t* sframe.c (sframe_encode): Free context on error return path.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c28f1236a2fbcfee6685ab101e51b7e63dd86a15",
      "old_mode": 33188,
      "old_path": "bfd/elf-sframe.c",
      "new_id": "7b2eed81c9f43839955224dd813e7b5f7c38cd88",
      "new_mode": 33188,
      "new_path": "bfd/elf-sframe.c"
    },
    {
      "type": "modify",
      "old_id": "6f6c28bedcebd8c9ec9610b4e8bec6979bdcab72",
      "old_mode": 33188,
      "old_path": "bfd/elf64-s390.c",
      "new_id": "3925cf6494d3b36365db95ac5bee4f2265a0c6f5",
      "new_mode": 33188,
      "new_path": "bfd/elf64-s390.c"
    },
    {
      "type": "modify",
      "old_id": "29b89d4ab9ed9edc59b714fcc08379efe43f2695",
      "old_mode": 33188,
      "old_path": "bfd/elflink.c",
      "new_id": "78751f957c42e3bcd89b7f75ed125184332ea7d9",
      "new_mode": 33188,
      "new_path": "bfd/elflink.c"
    },
    {
      "type": "modify",
      "old_id": "f476c04c8885ba7890ada881a499b8e3c2ecc7dc",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-x86.c",
      "new_id": "f3c267f5fccb37e3927828a63497f993dc1a5493",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-x86.c"
    },
    {
      "type": "modify",
      "old_id": "37590f3c11c3fb05161398d64d846d0a2e03febb",
      "old_mode": 33188,
      "old_path": "libsframe/sframe.c",
      "new_id": "cd6bb3022db37b843005ba9113ba2b9ed8397ed0",
      "new_mode": 33188,
      "new_path": "libsframe/sframe.c"
    }
  ]
}
