)]}'
{
  "commit": "424646edf42425390c0174f344a2acbd33b68fc9",
  "tree": "0780cf22e4850159a4341aa72b610d70d6cf4d9a",
  "parents": [
    "9f462ddef8456dc3b47e21f5f1995d1119e18b3f"
  ],
  "author": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Fri Jul 07 17:18:46 2023 +0100"
  },
  "committer": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Mon Jul 10 14:42:54 2023 +0100"
  },
  "message": "gdbserver: handle all eval_result_type values in tracepoint.cc\n\nIt was pointed out[1] that after this commit:\n\n  commit 3812b38d8de5804ad3eadd6c7a5d532402ddabab\n  Date:   Thu Oct 20 11:14:33 2022 +0100\n\n      gdbserver: allow agent expressions to fail with invalid memory access\n\nNow that agent expressions might fail with the error\nexpr_eval_invalid_memory_access, we might overflow the\neval_result_names array in tracepoint.cc.  This is because the\neval_result_names array does not include a string for either\nexpr_eval_invalid_goto or expr_eval_invalid_memory_access.\n\nI don\u0027t know if having expr_eval_invalid_goto missing is also a\nproblem, but it feels like eval_result_names should just include a\nstring for every possible error.\n\nI could just add two more strings into the array, but I figure that a\nmore robust solution will be to move all of the error types, and their\nassociated strings, into a new ax-result-types.def file, and to then\ninclude this file in both ax.h and tracepoint.cc in order to build\nthe enum eval_result_type and the eval_result_names string array.\nDoing this means it is impossible to have a missing error string in\nthe future.\n\n[1] https://inbox.sourceware.org/gdb-patches/01059f8a-0e59-55b5-f530-190c26df5ba3@palves.net/\n\nApproved-By: Pedro Alves \u003cpedro@palves.net\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7648b8dc0df1ea677e5c0c3040a23373103a6b87",
      "new_mode": 33188,
      "new_path": "gdbserver/ax-result-types.def"
    },
    {
      "type": "modify",
      "old_id": "c98e36a83c6fea16a37b3151a7209d58a27f7c7a",
      "old_mode": 33188,
      "old_path": "gdbserver/ax.h",
      "new_id": "60e307ca42d557f6d201e864f269aa6d4d2730a5",
      "new_mode": 33188,
      "new_path": "gdbserver/ax.h"
    },
    {
      "type": "modify",
      "old_id": "1f31e0cc05f670cb40348d639d5b5d55bec10ae1",
      "old_mode": 33188,
      "old_path": "gdbserver/tracepoint.cc",
      "new_id": "609d49a87ef2dfbe3720a6570f25eae783659cc1",
      "new_mode": 33188,
      "new_path": "gdbserver/tracepoint.cc"
    }
  ]
}
