)]}'
{
  "commit": "c2ca88d74ba3618c4aac6744e923c279ca4cb7f1",
  "tree": "cdd500a8a997bd1a8f908176d8f5fe4143d0542d",
  "parents": [
    "338b21b0881e16bb7116e4eb5bc41817f805ec23"
  ],
  "author": {
    "name": "Jose E. Marchesi",
    "email": "jose.marchesi@oracle.com",
    "time": "Mon Jul 24 01:15:08 2023 +0200"
  },
  "committer": {
    "name": "Jose E. Marchesi",
    "email": "jose.marchesi@oracle.com",
    "time": "Mon Jul 24 01:20:03 2023 +0200"
  },
  "message": "bpf: add support for jal/gotol jump instruction with 32-bit target\n\nThis patch adds support for the V4 BPF instruction jal/gotol, which is\nlike ja/goto but it supports a signed 32-bit PC-relative (in number of\n64-bit words minus one) target operand instead of the 16-bit signed\noperand of the other instruction.  This greatly increases the jump\nrange in BPF programs.\n\nTested in bpf-unkown-none.\n\nbfd/ChangeLog:\n\n2023-07-24  Jose E. Marchesi  \u003cjose.marchesi@oracle.com\u003e\n\n\t* reloc.c: New reloc BFD_RELOC_BPF_DISPCALL32.\n\t* elf64-bpf.c (bpf_reloc_type_lookup): Handle the new reloc.\n\t* libbfd.h (bfd_reloc_code_real_names): Regenerate.\n\ngas/ChangeLog:\n\n2023-07-24  Jose E. Marchesi  \u003cjose.marchesi@oracle.com\u003e\n\n\t* config/tc-bpf.c (struct bpf_insn): New field `id\u0027.\n\t(md_assemble): Save the ids of successfully parsed instructions\n\tand use the new BFD_RELOC_BPF_DISPCALL32 whenever appropriate.\n\t(md_apply_fix): Adapt to the new BFD reloc.\n\t* testsuite/gas/bpf/jump.s: Test JAL.\n\t* testsuite/gas/bpf/jump.d: Likewise.\n\t* testsuite/gas/bpf/jump-pseudoc.d: Likewise.\n\t* testsuite/gas/bpf/jump-be.d: Likewise.\n\t* testsuite/gas/bpf/jump-be-pseudoc.d: Likewise.\n\t* doc/c-bpf.texi (BPF Instructions): Document new instruction\n\tjal/gotol.\n\tDocument new operand type disp32.\n\ninclude/ChangeLog:\n\n2023-07-24  Jose E. Marchesi  \u003cjose.marchesi@oracle.com\u003e\n\n\t* opcode/bpf.h (enum bpf_insn_id): Add entry BPF_INSN_JAL.\n\t(enum bpf_insn_id): Remove spurious entry BPF_INSN_CALLI.\n\nopcodes/ChangeLog:\n\n2023-07-23  Jose E. Marchesi  \u003cjose.marchesi@oracle.com\u003e\n\n\t* bpf-opc.c (bpf_opcodes): Add entry for jal.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "553dea5d0b00719257efcddffadd8213453e04ae",
      "old_mode": 33188,
      "old_path": "bfd/ChangeLog",
      "new_id": "db032df5ac2c04e541ad0ad5769f1c30356de92b",
      "new_mode": 33188,
      "new_path": "bfd/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "ba7440c2768d2e102a504484e8a2516794bdadbe",
      "old_mode": 33188,
      "old_path": "bfd/bfd-in2.h",
      "new_id": "5f49807d7f20e7ec2ab5b8db8b9b7ec7ee91997a",
      "new_mode": 33188,
      "new_path": "bfd/bfd-in2.h"
    },
    {
      "type": "modify",
      "old_id": "23ede4e5d96be5f0daac821986a20051ea92012b",
      "old_mode": 33188,
      "old_path": "bfd/elf64-bpf.c",
      "new_id": "aefad7da5ac0708797f7a0d55a88199eb719e984",
      "new_mode": 33188,
      "new_path": "bfd/elf64-bpf.c"
    },
    {
      "type": "modify",
      "old_id": "5dbb0871607512a523f063a6af8778768e3c697e",
      "old_mode": 33188,
      "old_path": "bfd/libbfd.h",
      "new_id": "1fc88a888612b4c673dc0687389ea6945bceb163",
      "new_mode": 33188,
      "new_path": "bfd/libbfd.h"
    },
    {
      "type": "modify",
      "old_id": "e71a510e26ce7a600b4e6f6d6848256f10a2cfe4",
      "old_mode": 33188,
      "old_path": "bfd/reloc.c",
      "new_id": "07d35e45c8be20e59138cbad041fcc8b2b86320a",
      "new_mode": 33188,
      "new_path": "bfd/reloc.c"
    },
    {
      "type": "modify",
      "old_id": "f91c04572ecb680807a25764aba27b6905dc612e",
      "old_mode": 33188,
      "old_path": "gas/ChangeLog",
      "new_id": "b45fd9fa8bd267298e12ffeda243f72ed30f5b36",
      "new_mode": 33188,
      "new_path": "gas/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "7a54faccb59d09b8e96f7ea63692a25888b58b2e",
      "old_mode": 33188,
      "old_path": "gas/config/tc-bpf.c",
      "new_id": "c56b8fe984f9038e1d35a7e15ebd1b311f9db5fa",
      "new_mode": 33188,
      "new_path": "gas/config/tc-bpf.c"
    },
    {
      "type": "modify",
      "old_id": "bebf760f91fc0f04cd76125359b72a0c31201272",
      "old_mode": 33188,
      "old_path": "gas/doc/c-bpf.texi",
      "new_id": "d4fd1819dbe583f996b8c96c25ace802d41c6b17",
      "new_mode": 33188,
      "new_path": "gas/doc/c-bpf.texi"
    },
    {
      "type": "modify",
      "old_id": "3874d58f73a7d77847de4cc57120ecc89c94c087",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-be-pseudoc.d",
      "new_id": "827731182c114d241cebb4dc619e44fee42a01d2",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-be-pseudoc.d"
    },
    {
      "type": "modify",
      "old_id": "7c8a765ddcf9d23713eca2b8c9652c6bb72dd847",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-be.d",
      "new_id": "fffe1e952d7935f290e554194322562077a2509f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-be.d"
    },
    {
      "type": "modify",
      "old_id": "644d2be30b7cbb48eeb94d9047583dfad556165d",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-pseudoc.d",
      "new_id": "9b68108d9eee11db722695649c29e478e132a53e",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-pseudoc.d"
    },
    {
      "type": "modify",
      "old_id": "1331bdad307c65712858705175061604b7f1ba05",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump-pseudoc.s",
      "new_id": "9f860807a3e1d78462e7e860a80a44b0d7872440",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump-pseudoc.s"
    },
    {
      "type": "modify",
      "old_id": "742610a8ab21592beb6c71da24641413d6f8f69b",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump.d",
      "new_id": "4da37278cf87e79d77066def8cdc302cb9be923c",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump.d"
    },
    {
      "type": "modify",
      "old_id": "aae4295e1603628df94416aa324de8745f29698d",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/jump.s",
      "new_id": "c3d36bddeec885cbc823e925a80bfea62eb76bd2",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/jump.s"
    },
    {
      "type": "modify",
      "old_id": "ccf16619d1a3607fbc10db3e42c553ccd3363543",
      "old_mode": 33188,
      "old_path": "include/ChangeLog",
      "new_id": "8cad8e2ea7a1c8375ccc6dccb42e6fff385a938b",
      "new_mode": 33188,
      "new_path": "include/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "a491df6fbdfdd0ad5b2390189e5f84f638d6caa8",
      "old_mode": 33188,
      "old_path": "include/opcode/bpf.h",
      "new_id": "dc1b6e7ae57eb8bbb215d5ce3b79f503e44c3c2f",
      "new_mode": 33188,
      "new_path": "include/opcode/bpf.h"
    },
    {
      "type": "modify",
      "old_id": "f88e9c846fb4447407715a603562a2626a7d8bb5",
      "old_mode": 33188,
      "old_path": "opcodes/ChangeLog",
      "new_id": "d97eb389c9f3169f41da06221bffebc43c7e56d0",
      "new_mode": 33188,
      "new_path": "opcodes/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "efd32577821d21f06b8a34392bdc8dcee8778d3d",
      "old_mode": 33188,
      "old_path": "opcodes/bpf-opc.c",
      "new_id": "4ffd86719a7ffff0fe6842901bf8afdb6c70324c",
      "new_mode": 33188,
      "new_path": "opcodes/bpf-opc.c"
    }
  ]
}
