)]}'
{
  "commit": "a6bc00ff35a42d6d555aa8de97d427074151ae47",
  "tree": "2c87353533c435d634069793bd68a83c3c111314",
  "parents": [
    "1e9bd86ccda976c0f7ef513cb5e9ee3eff460768"
  ],
  "author": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Mon Feb 24 13:51:29 2025 +0000"
  },
  "committer": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Tue Feb 25 11:01:35 2025 +0000"
  },
  "message": "gdb/windows: remove disable_breakpoints_in_shlibs call\n\nI noticed that the disable_breakpoints_in_shlibs function disables\nbreakpoints without calling notify_breakpoint_modified.  This commit\nis one step towards fixing this issue.\n\nThere are currently only two uses of disable_breakpoints_in_shlibs,\none in clear_solib (in solib.c), and the other in\nwindows_nat_target::do_initial_windows_stuff (in windows-nat.c).\n\nI believe that the call in windows-nat.c can be shown to be redundant,\nand therefore can be removed.\n\nwindows_nat_target::do_initial_windows_stuff is called from two\nplaces: windows_nat_target::attach and\nwindows_nat_target::create_inferior, these are the target_ops\nfunctions used to attach to a running process, or for creating a new\nprocess, and are only called from attach_command or run_command_1,\nboth in infcmd.c.\n\nBoth attach_command and run_command_1 call target_pre_inferior before\ncalling the relevant target_ops function.\n\nIn target_pre_inferior, so long as the target doesn\u0027t have a global\nsolist (and windows doesn\u0027t), we always call no_shared_libraries (from\nsolib.c), which calls clear_solib (also in solib.c), which in turn\ncalls disable_breakpoints_in_shlibs.\n\nMy claim then, is that, any time we reach the\ndisable_breakpoints_in_shlibs call in\nwindows_nat_target::do_initial_windows_stuff, we will have always have\ncalled disable_breakpoints_in_shlibs already via clear_solib.\n\nI think it should be safe to remove the disable_breakpoints_in_shlibs\ncall from windows_nat_target::do_initial_windows_stuff.  There should\nbe no user visible changes.\n\nMy ultimate goal, which I\u0027ll address in follow on commits, is to\ndelete disable_breakpoints_in_shlibs completely.  Removing this call\nmeans that we only have one disable_breakpoints_in_shlibs call\nremaining in GDB.\n\nTesting for this change has been minimal.  My only Windows build\nmachine is not great, and I\u0027ve never managed to get DejaGNU running in\nthat environment.  This commit builds, and a few basic, manual tests\nseem fine, but beyond that, this change is untested.\n\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2fd943ea9730b6ea0e142faf2cf657c89767964b",
      "old_mode": 33188,
      "old_path": "gdb/windows-nat.c",
      "new_id": "e73a275893f86d2d506b0fd2bb62933232772b5a",
      "new_mode": 33188,
      "new_path": "gdb/windows-nat.c"
    }
  ]
}
