)]}'
{
  "commit": "dffb4a0784f401c2aa20446abb651a4e19f34a44",
  "tree": "eee62fd09beed5d19910f2ee60ef213345edb382",
  "parents": [
    "d3c2603167baf9f6fea006f8b747b8186f89b177"
  ],
  "author": {
    "name": "David Faust",
    "email": "david.faust@oracle.com",
    "time": "Thu Apr 25 11:40:31 2024 -0700"
  },
  "committer": {
    "name": "David Faust",
    "email": "david.faust@oracle.com",
    "time": "Thu Apr 25 13:16:34 2024 -0700"
  },
  "message": "bpf: fix calculation when deciding to relax branch\n\nIn certain cases we were calculating the jump displacement incorrectly\nwhen deciding whether to relax a branch.  This meant for some branches,\nsuch as a very long backwards conditional branch, relaxation was not\ndone when it should have been.  The result was to error later, because\nthe actual jump displacement was too large to fit in the original\ninstruction.\n\nThis patch fixes up the displacement calculation so that those branches\nare correctly relaxed and no longer result in an error.  In addition, it\nchanges md_convert_frag to install fixups for the JAL instructions in\nthe resulting relaxations rather than encoding the displacement value\ndirectly.\n\ngas/\n\t* config/tc-bpf.c (relaxed_branch_length): Correct displacement\n\tcalculation when relaxing.\n\t(md_convert_frag): Likewise.  Install fixups for JAL\n\tinstructions resulting from relaxation.\n\t* testsuite/gas/bpf/jump-relax-ja-be.d: Correct and expand test.\n\t* testsuite/gas/bpf/jump-relax-ja.d: Likewise.\n\t* testsuite/gas/bpf/jump-relax-ja.s: Likewise.\n\t* testsuite/gas/bpf/jump-relax-jump-be.d: Likewise.\n\t* testsuite/gas/bpf/jump-relax-jump.d: Likewise.\n\t* testsuite/gas/bpf/jump-relax-jump.s: Likewise.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dfa44ea194c12af88040886e28f84cf1fc893f3f",
      "old_mode": 33188,
      "old_path": "gas/config/tc-bpf.c",
      "new_id": "effb4838601ec0558edfa40c5d0494c0bb099483",
      "new_mode": 33188,
      "new_path": "gas/config/tc-bpf.c"
    },
    {
      "type": "modify",
      "old_id": "5f07847e90c29f213cfb07dcdf5758fa80ae7319",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-relax-ja-be.d",
      "new_id": "e5ad30da8073bb6ecad308ab3c91b48c48275b60",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-relax-ja-be.d"
    },
    {
      "type": "modify",
      "old_id": "ed3aa6bad4e7714e8da67af9bb93f7563d13bc22",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-relax-ja.d",
      "new_id": "1ac33f5d2f5da01bfb538e8eebe39cc8cabd2db0",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-relax-ja.d"
    },
    {
      "type": "modify",
      "old_id": "f164176bbd56e5c4d9eba98dd4dfd243f6cbcf82",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-relax-ja.s",
      "new_id": "61f2e61cb3cda12c22d63fab3e4478cef3758400",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-relax-ja.s"
    },
    {
      "type": "modify",
      "old_id": "0cacdb38fc90c748c48f4aa636e5604830ccedeb",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-relax-jump-be.d",
      "new_id": "5cf3bce2a2b4be29420d7e55319d0c5564b0b514",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-relax-jump-be.d"
    },
    {
      "type": "modify",
      "old_id": "dd31ba5f4e4adc71561d6feac5c9d3ea5c17a156",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-relax-jump.d",
      "new_id": "4300bf3f59f654117f85b709079da193a6e2b7e7",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-relax-jump.d"
    },
    {
      "type": "modify",
      "old_id": "5ea61109bcaa15360230c3315c28484e7c720e84",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-relax-jump.s",
      "new_id": "6b23c56514a16c060b06bea2f8ea1e7334db2dee",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-relax-jump.s"
    }
  ]
}
