)]}'
{
  "commit": "c67f4e53895da91ce7f2eff3544e9de02280f740",
  "tree": "6ee4302b25889dbe8d877610c1c3ea6109bd73f9",
  "parents": [
    "2bb8c72b39f4dcce0be292b2c701edbe4dd4ca7c"
  ],
  "author": {
    "name": "Simon Marchi",
    "email": "simon.marchi@polymtl.ca",
    "time": "Thu Apr 14 12:26:33 2022 -0400"
  },
  "committer": {
    "name": "Simon Marchi",
    "email": "simon.marchi@polymtl.ca",
    "time": "Mon Apr 18 10:28:25 2022 -0400"
  },
  "message": "gdb/testsuite: make gdb.ada/mi_prot.exp stop at expected location\n\nThis test attempts to run until the line marked \"STOP\", which is at\nprot.adb:34.  It first runs until the \"main\" symbol, then tries to place\na breakpoint by line at line 34, without specifying the source file.  When looking at the logs:\n\n    -break-insert -t 34^M\n    ^done,bkpt\u003d{number\u003d\"2\",type\u003d\"breakpoint\",disp\u003d\"del\",enabled\u003d\"y\",addr\u003d\"0x0000555555558a6c\",func\u003d\"adafinal\",file\u003d\"/home/simark/build/binutils-gdb-one-target/gdb/testsuite/outputs/gdb.ada/mi_pro    t/b~prot.adb\",fullname\u003d\"/home/simark/build/binutils-gdb-one-target/gdb/testsuite/outputs/gdb.ada/mi_prot/b~prot.adb\",line\u003d\"44\",thread-groups\u003d[\"i1\"],times\u003d\"0\",original-location\u003d\"/home/simark/b    uild/binutils-gdb-one-target/gdb/testsuite/outputs/gdb.ada/mi_prot/b~prot.adb:34\"}^M\n    ... continues ...\n     *stopped,reason\u003d\"breakpoint-hit\",disp\u003d\"del\",bkptno\u003d\"2\",frame\u003d{addr\u003d\"0x0000555555558a6c\",func\u003d\"adafinal\",args\u003d[],file\u003d\"/home/simark/build/binutils-gdb-one-target/gdb/testsuite/outputs/gdb.ada/    mi_prot/b~prot.adb\",fullname\u003d\"/home/simark/build/binutils-gdb-one-target/gdb/testsuite/outputs/gdb.ada/mi_prot/b~prot.adb\",line\u003d\"44\",arch\u003d\"i386:x86-64\"},thread-id\u003d\"1\",stopped-threads\u003d\"all\",co    re\u003d\"8\"^M\n\n... we see that the breakpoint is placed in some generated file, not in\nthe test source file as we expect.  The problem is that \"b main\" in Ada\ndoes not place a breakpoint on the \"Ada main\", but on some symbol in a\ngenerated source file.  So when stopped at the \"main\" symbol, we are not\nstopped in the file that contains the STOP marker at line 34.\n\nThe test passes anyway today, so it doesn\u0027t seem to matter that we are\nstopped at an unexpected location.  But it starts failing with this\npatch [1], because b~prot.adb:34 happens to be between two functions, so\nthe breakpoint doesn\u0027t resolve.\n\nFix this by placing the breakpoint at \"$srcfile:$line\", which works\nregardless of what is the current source file.\n\nHowever, this ends up introducing a path in the test name.  Modify\nmi_tbreak and mi_continue_to_line to avoid that.\n\n[1] https://sourceware.org/pipermail/gdb-patches/2022-April/187686.html\n\nChange-Id: I742e2a9993046dcb5e30c64fe2ad920a363baf75\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b68dcb532b4be3bdb922e1638fd0893927e6f06f",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.ada/mi_prot.exp",
      "new_id": "5ec7f8ddc6db50d0be6dca7d993c9ffff7fbefb5",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.ada/mi_prot.exp"
    },
    {
      "type": "modify",
      "old_id": "857a04519cff1fe09543fe369ad74ae785481573",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/lib/mi-support.exp",
      "new_id": "701c53f13212edd9cfd1f0b04a0709df9b7cce4b",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/lib/mi-support.exp"
    }
  ]
}
