)]}'
{
  "commit": "fbb487b4510dc2cd6cf7e82df062d7e40eeb8c27",
  "tree": "182a46a997ce1459329c1a0572a7568a300f2fc8",
  "parents": [
    "77c87c12b3596567e4ac41b496cb4bac602d0dc3"
  ],
  "author": {
    "name": "Simon Marchi",
    "email": "simon.marchi@efficios.com",
    "time": "Tue Jul 15 11:52:32 2025 -0400"
  },
  "committer": {
    "name": "Simon Marchi",
    "email": "simon.marchi@efficios.com",
    "time": "Fri Aug 22 10:45:47 2025 -0400"
  },
  "message": "gdb: make iterate_over_objfiles_in_search_order methods of program_space and solib_ops\n\nChange the \"iterate over objfiles in search order\" operation from a\ngdbarch method to methods on both program_space and solib_ops.\n\nThe first motivation for this is that I want to encapsulate solib-svr4\u0027s\ndata into svr4_solib_ops (in a subsequent series), instead of it being\nin a separate structure (svr4_info).  It is awkward to do so as long as\nthere are entry points that aren\u0027t the public solib_ops interface.\n\nThe second motivation is my project of making it able to have multiple\nsolib_ops per program space (which should be the subject of said\nsubsequent series), to better support heterogenousa systems (like ROCm,\nwith CPU and GPU in the same inferior).  When we have this, when stopped\nin GPU code, it won\u0027t make sense to ask the host\u0027s architecture to do\nthe iteration, as the logic could be different for the GPU architecture.\nInstead, program_space::iterate_over_objfiles_in_search_order will be\nresponsible to delegate to the various solib_ops using a logic that is\nyet to be determined.\n\nI included this patch in this series (rather than the following one)\nso that svr4_solib_ops::iterate_over_objfiles_in_search_order can access\nsvr4_solib_ops::default_debug_base, introduced in a later patch in this\nseries.\n\ndefault_iterate_over_objfiles_in_search_order becomes the default\nimplementation of solib_ops::iterate_over_objfiles_in_search_order.\n\nAs far as I know, all architectures using\nsvr4_iterate_over_objfiles_in_search_order also use solib_ops_svr4, so I\ndon\u0027t expect this patch to cause behavior changes.\n\nChange-Id: I71f8a800b8ce782ab973af2f2eb5fcfe4e06ec76\nReviewed-By: Guinevere Larsen \u003cguinevere@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "74ac3e32b8bd75287cbb0164a19ab5d579e4aedb",
      "old_mode": 33188,
      "old_path": "gdb/ada-lang.c",
      "new_id": "b62f545e1e37a6fdd2218514a274848a5d2ebed0",
      "new_mode": 33188,
      "new_path": "gdb/ada-lang.c"
    },
    {
      "type": "modify",
      "old_id": "8f5c0d1dd45929e41748aa6d71ad62c9e2080b00",
      "old_mode": 33188,
      "old_path": "gdb/cp-support.c",
      "new_id": "be66be95d6164b3835add8db41071b46d39c328f",
      "new_mode": 33188,
      "new_path": "gdb/cp-support.c"
    },
    {
      "type": "modify",
      "old_id": "ae74978000433bdbfca73da0758def75e6a32294",
      "old_mode": 33188,
      "old_path": "gdb/elfread.c",
      "new_id": "c8e976ace6f554221e9cfda7812a8cf7445e2f47",
      "new_mode": 33188,
      "new_path": "gdb/elfread.c"
    },
    {
      "type": "modify",
      "old_id": "c5294fe449e148b8399932d21178c53eadd5ebf4",
      "old_mode": 33188,
      "old_path": "gdb/findvar.c",
      "new_id": "e1f0bcbaadef681eac227608846d888934e7b4c5",
      "new_mode": 33188,
      "new_path": "gdb/findvar.c"
    },
    {
      "type": "modify",
      "old_id": "75956e206af4ab66956ef122d9e754ae84991816",
      "old_mode": 33188,
      "old_path": "gdb/gdbarch-gen.c",
      "new_id": "f4766e18d9a44c6e4294b9e38d725d38db4525da",
      "new_mode": 33188,
      "new_path": "gdb/gdbarch-gen.c"
    },
    {
      "type": "modify",
      "old_id": "fba62e13a807f584e72112aaf5a5064b7adc594b",
      "old_mode": 33188,
      "old_path": "gdb/gdbarch-gen.h",
      "new_id": "cd998984ab70fe2c258de4dc7dbcbfc2053efdbe",
      "new_mode": 33188,
      "new_path": "gdb/gdbarch-gen.h"
    },
    {
      "type": "modify",
      "old_id": "6accbd2fd5eeeebf6000009c2ec6c47d3b56328e",
      "old_mode": 33188,
      "old_path": "gdb/gdbarch.h",
      "new_id": "20497612811d0fab92372098b831cd07d6ef1593",
      "new_mode": 33188,
      "new_path": "gdb/gdbarch.h"
    },
    {
      "type": "modify",
      "old_id": "dac3ce17a0edfb6c6f56984175806df635813d67",
      "old_mode": 33188,
      "old_path": "gdb/gdbarch_components.py",
      "new_id": "938fa5ab69c3ab0d33edbd0ab59ab3277d610f2e",
      "new_mode": 33188,
      "new_path": "gdb/gdbarch_components.py"
    },
    {
      "type": "modify",
      "old_id": "1cd6e8c0f4ca216cce3c01abff9aedf7ab4f726e",
      "old_mode": 33188,
      "old_path": "gdb/objfiles.c",
      "new_id": "7a8b0ba3b8edee4935703e4dd8e38b7f4d59c75d",
      "new_mode": 33188,
      "new_path": "gdb/objfiles.c"
    },
    {
      "type": "modify",
      "old_id": "4a3475862a95a8290d090795c0e097aebd2ed7e3",
      "old_mode": 33188,
      "old_path": "gdb/objfiles.h",
      "new_id": "bce85576e6c7fe910a063caaeac8f42a83172f3f",
      "new_mode": 33188,
      "new_path": "gdb/objfiles.h"
    },
    {
      "type": "modify",
      "old_id": "1c27165743738f59d21f8f57e7f758206d85e210",
      "old_mode": 33188,
      "old_path": "gdb/progspace.c",
      "new_id": "9928c16376f5c72ed4b981c9b407b092ea1e4cfb",
      "new_mode": 33188,
      "new_path": "gdb/progspace.c"
    },
    {
      "type": "modify",
      "old_id": "a761e62b8cc4ad50102f3b0cab0cae6f8968ad33",
      "old_mode": 33188,
      "old_path": "gdb/progspace.h",
      "new_id": "270a71d57c06a43c0dcd655df9c703e6ab15c900",
      "new_mode": 33188,
      "new_path": "gdb/progspace.h"
    },
    {
      "type": "modify",
      "old_id": "1c6f5697302cdf75e3079110de971d64e7739150",
      "old_mode": 33188,
      "old_path": "gdb/python/py-objfile.c",
      "new_id": "8f92642d488ceee95ba803bfc2e5cd8160a586d7",
      "new_mode": 33188,
      "new_path": "gdb/python/py-objfile.c"
    },
    {
      "type": "modify",
      "old_id": "7c60ebc072c21b22129ccc4b36f5d228bf9b48ac",
      "old_mode": 33188,
      "old_path": "gdb/solib-rocm.c",
      "new_id": "4c59e8ac5da5fc53453d24c0d5caeee7da2a42d3",
      "new_mode": 33188,
      "new_path": "gdb/solib-rocm.c"
    },
    {
      "type": "modify",
      "old_id": "0e4b030c6b993693099aab5cc1b4807d9ab9b5d6",
      "old_mode": 33188,
      "old_path": "gdb/solib-svr4.c",
      "new_id": "7f103239b8c0b7437ff73412fa33323baf84f2b7",
      "new_mode": 33188,
      "new_path": "gdb/solib-svr4.c"
    },
    {
      "type": "modify",
      "old_id": "70cb1d6374ade0e2e375bb3aaf1572c75997f8ba",
      "old_mode": 33188,
      "old_path": "gdb/solib-svr4.h",
      "new_id": "9a70c8f98bb817b9a7eb91f2dc9765f9c71193d6",
      "new_mode": 33188,
      "new_path": "gdb/solib-svr4.h"
    },
    {
      "type": "modify",
      "old_id": "440562e7e1ea7171b5a02fbc47e326140c6f8c5b",
      "old_mode": 33188,
      "old_path": "gdb/solib.c",
      "new_id": "9a2ef123ed9c54eae0820213c127ef1dd386f41c",
      "new_mode": 33188,
      "new_path": "gdb/solib.c"
    },
    {
      "type": "modify",
      "old_id": "a6e85ebeeaadeee69da29793c98db9518cb5f8b3",
      "old_mode": 33188,
      "old_path": "gdb/solib.h",
      "new_id": "eb8bafef0bd2403cf3ecffd8e329488dc36ebe1c",
      "new_mode": 33188,
      "new_path": "gdb/solib.h"
    },
    {
      "type": "modify",
      "old_id": "0d110e4f2ec829867368713625e8e4df866da84c",
      "old_mode": 33188,
      "old_path": "gdb/symtab.c",
      "new_id": "b6bd0a4817130e0b8e36d45fcd90e4697cf5256c",
      "new_mode": 33188,
      "new_path": "gdb/symtab.c"
    },
    {
      "type": "modify",
      "old_id": "b71fad16f7962c0a161dfa8239adc11420167ba6",
      "old_mode": 33188,
      "old_path": "gdb/windows-tdep.c",
      "new_id": "9157ebe03b36bbdfdbd65ac0019fe5f53d7d8ea6",
      "new_mode": 33188,
      "new_path": "gdb/windows-tdep.c"
    }
  ]
}
