)]}'
{
  "commit": "41aa80c5440ff24fc931fa2a3e681213dc1dbdec",
  "tree": "eeda5e5d2a14d7f6927af428599c89d089a259d8",
  "parents": [
    "11e3488d3f787d51196a115fd9c6085e57bd9626"
  ],
  "author": {
    "name": "David Faust",
    "email": "david.faust@oracle.com",
    "time": "Mon Aug 21 09:07:11 2023 -0700"
  },
  "committer": {
    "name": "David Faust",
    "email": "david.faust@oracle.com",
    "time": "Mon Aug 21 10:07:25 2023 -0700"
  },
  "message": "bpf: correct neg and neg32 instruction encoding\n\nThe neg/neg32 BPF instructions always use BPF_SRC_K (\u003d0) in their header\nsource bit, despite operating on registers.  If BPF_SRC_X (\u003d1) is set,\nthe instructions are rejected by the kernel.\n\nBecause of this there are also no neg/neg32 instructions which operate\non immediates, so remove them.\n\nbd434cc4d94ec3d2f9fc1e7c00c27b074f962bc1 was a similar fix in the old\nCGEN-based port, but was not carried forward in the new port.\n\ninclude/\n\t* opcode/bpf.h (enum bpf_insn_id): Remove spurious entries\n\tBPF_INSN_NEGI and BPF_INSN_NEG32I.\n\nopcodes/\n\t* bpf-opc.c (bpf_opcodes): Remove erroneous NEGI and NEG32I\n\tinstructions.\n\ngas/\n\t* doc/c-bpf.texi (BPF Instructions): Remove erroneous neg and\n\tneg32 instructions operating on immediates.\n\t* testsuite/gas/bpf/alu.s: Adapt accordingly.\n\t* testsuite/gas/bpf/alu.d: Likewise.\n\t* testsuite/gas/bpf/alu-be.d: Likewise\n\t* testsuite/gas/bpf/alu32.s: Likewise.\n\t* testsuite/gas/bpf/alu32.d: Likewise.\n\t* testsuite/gas/bpf/alu32-be.d: Likewise.\n\t* testsuite/gas/bpf/alu-pseudoc.s: Likewise.\n\t* testsuite/gas/bpf/alu-pseudoc.d: Likewise.\n\t* testsuite/gas/bpf/alu-be-pseudoc.d: Likewise.\n\t* testsuite/gas/bpf/alu32-pseudoc.s: Likewise.\n\t* testsuite/gas/bpf/alu32-pseudoc.d: Likewise.\n\t* testsuite/gas/bpf/alu32-be-pseudoc.d: Likewise.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "75372de4ef41ebd7dc51dce5d84fb45560fb7af9",
      "old_mode": 33188,
      "old_path": "gas/doc/c-bpf.texi",
      "new_id": "bdd9fde0f5a63f982bb3e40552221e4cdb7dc20d",
      "new_mode": 33188,
      "new_path": "gas/doc/c-bpf.texi"
    },
    {
      "type": "modify",
      "old_id": "0e9df07eb15a59d6f196e941e30c86c418886278",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu-be-pseudoc.d",
      "new_id": "4c0f6ba9ca6c5c32cad77e84b1d50f76869f7dd3",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu-be-pseudoc.d"
    },
    {
      "type": "modify",
      "old_id": "b961f3fe474be5ee3d6e8444331e25b1e72e6f89",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu-be.d",
      "new_id": "0d6a10f8ca3ee5708fafe4247bbcb8c6978b3574",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu-be.d"
    },
    {
      "type": "modify",
      "old_id": "bbd222c83ae59bef3b660e12bcb373207a673e01",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu-pseudoc.d",
      "new_id": "b5ab569563cbf5d1dddec5b01196696369f25436",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu-pseudoc.d"
    },
    {
      "type": "modify",
      "old_id": "abd8ddcc38e07c3b6a6bbfd1e2dc2ffc5da060e9",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu-pseudoc.s",
      "new_id": "323a6522f221993e15c609f40ad735e78de97f5f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu-pseudoc.s"
    },
    {
      "type": "modify",
      "old_id": "e4afdab0d50b115b585a0f06bfa1b412fd9d6d80",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu.d",
      "new_id": "f6bead38f4b3f10e394e4283b62b3bdad2caefcb",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu.d"
    },
    {
      "type": "modify",
      "old_id": "d0bf560020971dcc7ba89c42425fae351d665c4a",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu.s",
      "new_id": "2d8d22da0e1329bbfebc4dd0b7d7c815b9170ce7",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu.s"
    },
    {
      "type": "modify",
      "old_id": "7f5e70071fc1fd01ba1755144600ed1a8e25e7c5",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu32-be-pseudoc.d",
      "new_id": "150ed4c073256b1baa9a455ae1d9860c4030ecf4",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu32-be-pseudoc.d"
    },
    {
      "type": "modify",
      "old_id": "9799664b27a071f2fc83ce7d6c897ac3a7e63ed8",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu32-be.d",
      "new_id": "650432dec10098a2ae13e7a9f2eeff0ea54fa56d",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu32-be.d"
    },
    {
      "type": "modify",
      "old_id": "cc4e010b20159615c3310a63ea2a3d72a63c1c92",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu32-pseudoc.d",
      "new_id": "4aa90a1a60836088366423a6068fd483e0312e64",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu32-pseudoc.d"
    },
    {
      "type": "modify",
      "old_id": "98d586a48e6512bdf8bb802330b4be2a129a3a6e",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu32-pseudoc.s",
      "new_id": "46c4e15a4b7eb3ed0675b0ddebaf4b984670a0c2",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu32-pseudoc.s"
    },
    {
      "type": "modify",
      "old_id": "25484381aeb4f496073de1933a4cb85fef033c3c",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu32.d",
      "new_id": "25f84a167e479e4779ddfcb662ec7ff98f606906",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu32.d"
    },
    {
      "type": "modify",
      "old_id": "fd1d528ba21c64aff2631964e9c3171861eb6a3d",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/bpf/alu32.s",
      "new_id": "291f9ced6a783673dea76220ca84e4c776d4700a",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/bpf/alu32.s"
    },
    {
      "type": "modify",
      "old_id": "6decae4a9a3b1b0089c9be38f26d5d96c17ae37b",
      "old_mode": 33188,
      "old_path": "include/opcode/bpf.h",
      "new_id": "a8a95955768b4941a9fc5b619212ab537ede0ec6",
      "new_mode": 33188,
      "new_path": "include/opcode/bpf.h"
    },
    {
      "type": "modify",
      "old_id": "3d6dccbd0057b1f138466d04a30e3d067207c91c",
      "old_mode": 33188,
      "old_path": "opcodes/bpf-opc.c",
      "new_id": "7fcec62234ee0d707f727c55a4693185e114abbc",
      "new_mode": 33188,
      "new_path": "opcodes/bpf-opc.c"
    }
  ]
}
