)]}'
{
  "commit": "bdeccf733122b02319516e72dd225c916a216d2c",
  "tree": "bfa6891dac65050b4ecb628469ad2f29fb16ad29",
  "parents": [
    "2b8c7766ea357ff9b22531d6fdf0c3bd69cc044f"
  ],
  "author": {
    "name": "Jose E. Marchesi",
    "email": "jose.marchesi@oracle.com",
    "time": "Sat May 08 18:11:12 2021 +0200"
  },
  "committer": {
    "name": "Jose E. Marchesi",
    "email": "jose.marchesi@oracle.com",
    "time": "Sat Apr 29 14:55:08 2023 +0200"
  },
  "message": "Integrate GNU poke in GDB\n\nThis patch integrates GNU poke (http://jemarch.net/poke) in GDB by\nmean of libpoke.  It allows the GDB user to execute Poke code from\nwithin the debugger with access to the target memory, types and\nvalues.\n\nHow this stuff works:\n\n- GDB links with libpoke.so and uses the interface in libpoke.h.\n  This is also how the GNU poke application (the command-line\n  editor) is implemented.\n\n- There are three commands:\n\n  poke STR\n  poke-add-type EXPR\n  poke-add-types REGEXP\n  poke-dump-types\n\n  All three commands make sure to start the poke incremental\n  compiler if it isn\u0027t running already.\n\n- Access to the target\u0027s memory is provided by GDB by installing\n  a Foreign IO device in the incremental compiler.  This is\n  `iod_if\u0027 in poke.c.\n\n- Access to the terminal is provided by GDB by providing a\n  pk_term_if implementation to the incremental compiler.  This is\n  `poke_term_if\u0027 in poke.c.\n\n- Access to GDB values is provided by GDB by installing an alien\n  token handler in the incremental compiler.  This is\n  `poke_alien_token_handler\u0027 in poke.c.\n\ngdb/ChangeLog:\n\n2021-05-10  Jose E. Marchesi  \u003cjose.marchesi@oracle.com\u003e\n\n\t* configure.ac: Support --enable-poke.\n\t* configure: Regenerate.\n\t* Makefile.in (POKE_OBS): Define based on @POKE_OBS@.\n\t(DEPFILES): Add POKE_OBS.\n\t* poke.c: New file.\n\ngdb/doc/ChangeLog:\n\n2021-05-10  Jose E. Marchesi  \u003cjose.marchesi@oracle.com\u003e\n\n\t* Makefile.in (GDB_DOC_FILES): Add poke.texi.\n\t* poke.texi: New file.\n\t* gdb.texinfo (Data): Add meny entry for Poke and @include poke.texi.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f1071a71d2e09c79ce21ffaf2a5ffae9cd88803e",
      "old_mode": 33188,
      "old_path": "gdb/ChangeLog-2021",
      "new_id": "e9dda50eb39eb0594cff981e6aa7959945a65253",
      "new_mode": 33188,
      "new_path": "gdb/ChangeLog-2021"
    },
    {
      "type": "modify",
      "old_id": "404975418804c4463cf178df1fef7631dcc90362",
      "old_mode": 33188,
      "old_path": "gdb/Makefile.in",
      "new_id": "a535063566515e2273dab25258a4ead7f00d75fe",
      "new_mode": 33188,
      "new_path": "gdb/Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "54b5da2124579994de44c37c731c2bc983e29d54",
      "old_mode": 33188,
      "old_path": "gdb/NEWS",
      "new_id": "d9ca1a4ab9ac67c38037709445829e7695c8b931",
      "new_mode": 33188,
      "new_path": "gdb/NEWS"
    },
    {
      "type": "modify",
      "old_id": "a7da88b92d77e71be24e5be162026caba0ff4089",
      "old_mode": 33188,
      "old_path": "gdb/config.in",
      "new_id": "b08900109b2707cf4f832ab60f140c1226fb6d70",
      "new_mode": 33188,
      "new_path": "gdb/config.in"
    },
    {
      "type": "modify",
      "old_id": "5bb2a0795e59797cb4f11d0068d2fce2e293748f",
      "old_mode": 33261,
      "old_path": "gdb/configure",
      "new_id": "003197303af259cb0c73371dc57d473674ae450a",
      "new_mode": 33261,
      "new_path": "gdb/configure"
    },
    {
      "type": "modify",
      "old_id": "fb43cd10d6c83a18893ca6a566d3c8c33418badd",
      "old_mode": 33188,
      "old_path": "gdb/configure.ac",
      "new_id": "dd90e9f8300d99a17242c14e2606b82667572119",
      "new_mode": 33188,
      "new_path": "gdb/configure.ac"
    },
    {
      "type": "modify",
      "old_id": "0df8399caa30207ff13246f322b0818ef29059df",
      "old_mode": 33188,
      "old_path": "gdb/doc/ChangeLog-1991-2021",
      "new_id": "fc6ce391ec220ac1bcaf950722161cbf22148ee0",
      "new_mode": 33188,
      "new_path": "gdb/doc/ChangeLog-1991-2021"
    },
    {
      "type": "modify",
      "old_id": "110b608890578c59f40c91d46abdcc454fa4d38b",
      "old_mode": 33188,
      "old_path": "gdb/doc/Makefile.in",
      "new_id": "754e8e5266eef759989aef4dca804b68a7a1c845",
      "new_mode": 33188,
      "new_path": "gdb/doc/Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "263326d54e7c8e90f2ef7751b345ce8e1bcd26ab",
      "old_mode": 33188,
      "old_path": "gdb/doc/gdb.texinfo",
      "new_id": "55b568dd13584325f379316e34357370562e7aa3",
      "new_mode": 33188,
      "new_path": "gdb/doc/gdb.texinfo"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d5d4c3139d47af8eef49343742f1d351936d2ad6",
      "new_mode": 33188,
      "new_path": "gdb/doc/poke.texi"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65936b412ae9e17c37da7db2aa50043a125eeda3",
      "new_mode": 33188,
      "new_path": "gdb/poke.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e8296891ef1c6e518939d11673fd606b5fb75206",
      "new_mode": 33188,
      "new_path": "gdb/poke/gdb.pk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8ab5774aee53746997f432719131848b137a69ca",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.poke/poke-types.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "01c086e42979f92d18d68efac272cbe77d8e054e",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.poke/poke-types.exp"
    },
    {
      "type": "modify",
      "old_id": "aed7e2d043c26bdf2a3907e2075c6553d3214d52",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/lib/gdb.exp",
      "new_id": "80ed3fbcca76026d760f7b709b4775c40c8e093d",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/lib/gdb.exp"
    },
    {
      "type": "modify",
      "old_id": "81f74f72f6108f0aff8b9d61385aeb3d2fba1fc8",
      "old_mode": 33188,
      "old_path": "gdb/top.c",
      "new_id": "38cc558881dba9a089bcf4d489d2d6b42b58d365",
      "new_mode": 33188,
      "new_path": "gdb/top.c"
    },
    {
      "type": "modify",
      "old_id": "0a42b42ea8c169aa233ac5d21137341ba0dbb61f",
      "old_mode": 33188,
      "old_path": "intl/aclocal.m4",
      "new_id": "abe4923a98e224566d3639ec53f9c0c88a4f0d13",
      "new_mode": 33188,
      "new_path": "intl/aclocal.m4"
    },
    {
      "type": "modify",
      "old_id": "e75f072f8fac23a9092e322dd66887fb0fc744aa",
      "old_mode": 33261,
      "old_path": "intl/configure",
      "new_id": "7f370f21c554300a2c9bbaa48465f49684dba6c8",
      "new_mode": 33261,
      "new_path": "intl/configure"
    },
    {
      "type": "modify",
      "old_id": "0757688d52a4c8c620f4cd79e45608f61122a01d",
      "old_mode": 33188,
      "old_path": "libiberty/aclocal.m4",
      "new_id": "2ded717cc2be9be56b8258afb2317c1b81af1326",
      "new_mode": 33188,
      "new_path": "libiberty/aclocal.m4"
    },
    {
      "type": "modify",
      "old_id": "1ccfac9fb11f334926f253d284b03a8335d94b2e",
      "old_mode": 33261,
      "old_path": "libiberty/configure",
      "new_id": "920dc7f7d0d5484b2c0424e5bca902a0d35401a8",
      "new_mode": 33261,
      "new_path": "libiberty/configure"
    }
  ]
}
