)]}'
{
  "commit": "8a729432af7fe9e9f07036e2d0a5c66439de8bf9",
  "tree": "cc224eee8aaaf5d71179c57a6756e87cba6b1442",
  "parents": [
    "fcdc6c5aff198140e0e2c8b94eef48d340e04dbc"
  ],
  "author": {
    "name": "Simon Marchi",
    "email": "simon.marchi@efficios.com",
    "time": "Wed Jul 23 14:11:39 2025 -0400"
  },
  "committer": {
    "name": "Simon Marchi",
    "email": "simon.marchi@efficios.com",
    "time": "Fri Aug 22 10:45:47 2025 -0400"
  },
  "message": "gdb/solib: adjust info linker-namespaces/sharedlibrary format\n\nI would like to propose some minor changes to the format of \"info linker\nnamespaces\" and \"info sharedlibrary\", to make it a bit tidier and less\nchatty.\n\nHere are the current formats (I replaced empty lines with dots, so that\ngit doesn\u0027t collapse them):\n\n    (gdb) info linker-namespaces\n    There are 3 linker namespaces loaded\n    There are 5 libraries loaded in linker namespace [[0]]\n    Displaying libraries for linker namespace [[0]]:\n    From                To                  Syms Read   Shared Object Library\n    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /lib64/ld-linux-x86-64.so.2\n    0x00007ffff7e94000  0x00007ffff7f8c000  Yes         /usr/lib/libm.so.6\n    0x00007ffff7ca4000  0x00007ffff7e94000  Yes         /usr/lib/libc.so.6\n    0x00007ffff7fad000  0x00007ffff7fb2000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fa8000  0x00007ffff7fad000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    .\n    .\n    There are 6 libraries loaded in linker namespace [[1]]\n    Displaying libraries for linker namespace [[1]]:\n    From                To                  Syms Read   Shared Object Library\n    0x00007ffff7fb7000  0x00007ffff7fbc000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fb2000  0x00007ffff7fb7000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7b79000  0x00007ffff7c71000  Yes         /usr/lib/libm.so.6\n    0x00007ffff7989000  0x00007ffff7b79000  Yes         /usr/lib/libc.so.6\n    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7f99000  0x00007ffff7f9e000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.2.so\n    .\n    .\n    There are 5 libraries loaded in linker namespace [[2]]\n    Displaying libraries for linker namespace [[2]]:\n    From                To                  Syms Read   Shared Object Library\n    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7fa3000  0x00007ffff7fa8000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7f9e000  0x00007ffff7fa3000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7891000  0x00007ffff7989000  Yes         /usr/lib/libm.so.6\n    0x00007ffff76a1000  0x00007ffff7891000  Yes         /usr/lib/libc.so.6\n    (gdb) info sharedlibrary\n    From                To                  NS    Syms Read   Shared Object Library\n    0x00007ffff7fc6000  0x00007ffff7fff000  [[0]] Yes         /lib64/ld-linux-x86-64.so.2\n    0x00007ffff7e94000  0x00007ffff7f8c000  [[0]] Yes         /usr/lib/libm.so.6\n    0x00007ffff7ca4000  0x00007ffff7e94000  [[0]] Yes         /usr/lib/libc.so.6\n    0x00007ffff7fb7000  0x00007ffff7fbc000  [[1]] Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fb2000  0x00007ffff7fb7000  [[1]] Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7b79000  0x00007ffff7c71000  [[1]] Yes         /usr/lib/libm.so.6\n    0x00007ffff7989000  0x00007ffff7b79000  [[1]] Yes         /usr/lib/libc.so.6\n    0x00007ffff7fc6000  0x00007ffff7fff000  [[1]] Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7fad000  0x00007ffff7fb2000  [[0]] Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fa8000  0x00007ffff7fad000  [[0]] Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7fa3000  0x00007ffff7fa8000  [[2]] Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7f9e000  0x00007ffff7fa3000  [[2]] Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7891000  0x00007ffff7989000  [[2]] Yes         /usr/lib/libm.so.6\n    0x00007ffff76a1000  0x00007ffff7891000  [[2]] Yes         /usr/lib/libc.so.6\n    0x00007ffff7fc6000  0x00007ffff7fff000  [[1]] Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7f99000  0x00007ffff7f9e000  [[1]] Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.2.so\n\nHere is what I would change:\n\n - I find that the [[...]] notation used everywhere is heavy and noisy.\n   I understand that this is the (proposed) notation for specifying a\n   namespace id in an expression.  But I don\u0027t think it\u0027s useful to\n   print those brackets everywhere (when it\u0027s obvious from the context\n   that the number is a namespace id).  I would remove them from the\n   messages and from the tables.\n\n - I find these lines a bit too verbose:\n\n       There are X libraries loaded in linker namespace [[Y]]\n       Displaying libraries for linker namespace [[Y]]:\n\n   I think they can be condensed to a single line, without loss of\n   information (I think that printing the number of libs in each\n   namespace is not essential, but I don\u0027t really mind, so I left it\n   there).\n\n - I would add an empty line after the \"There are N linker namespaces\n   loaded\" message, to visually separate it from the first group.  I\n   would also finish that line with a period.\n\n - There are two empty lines between each group I think that one empty\n   line is sufficient to do a visual separation.\n\nHere\u0027s how it looks with this patch:\n\n    (gdb) info linker-namespaces\n    There are 3 linker namespaces loaded.\n\n    5 libraries loaded in linker namespace 0:\n    From                To                  Syms Read   Shared Object Library\n    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /lib64/ld-linux-x86-64.so.2\n    0x00007ffff7e94000  0x00007ffff7f8c000  Yes         /usr/lib/libm.so.6\n    0x00007ffff7ca4000  0x00007ffff7e94000  Yes         /usr/lib/libc.so.6\n    0x00007ffff7fad000  0x00007ffff7fb2000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fa8000  0x00007ffff7fad000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n\n    6 libraries loaded in linker namespace 1:\n    From                To                  Syms Read   Shared Object Library\n    0x00007ffff7fb7000  0x00007ffff7fbc000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fb2000  0x00007ffff7fb7000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7b79000  0x00007ffff7c71000  Yes         /usr/lib/libm.so.6\n    0x00007ffff7989000  0x00007ffff7b79000  Yes         /usr/lib/libc.so.6\n    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7f99000  0x00007ffff7f9e000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.2.so\n\n    5 libraries loaded in linker namespace 2:\n    From                To                  Syms Read   Shared Object Library\n    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7fa3000  0x00007ffff7fa8000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7f9e000  0x00007ffff7fa3000  Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7891000  0x00007ffff7989000  Yes         /usr/lib/libm.so.6\n    0x00007ffff76a1000  0x00007ffff7891000  Yes         /usr/lib/libc.so.6\n    (gdb) info shared\n    From                To                  Linker NS Syms Read   Shared Object Library\n    0x00007ffff7fc6000  0x00007ffff7fff000  0         Yes         /lib64/ld-linux-x86-64.so.2\n    0x00007ffff7e94000  0x00007ffff7f8c000  0         Yes         /usr/lib/libm.so.6\n    0x00007ffff7ca4000  0x00007ffff7e94000  0         Yes         /usr/lib/libc.so.6\n    0x00007ffff7fb7000  0x00007ffff7fbc000  1         Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fb2000  0x00007ffff7fb7000  1         Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7b79000  0x00007ffff7c71000  1         Yes         /usr/lib/libm.so.6\n    0x00007ffff7989000  0x00007ffff7b79000  1         Yes         /usr/lib/libc.so.6\n    0x00007ffff7fc6000  0x00007ffff7fff000  1         Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7fad000  0x00007ffff7fb2000  0         Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7fa8000  0x00007ffff7fad000  0         Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7fa3000  0x00007ffff7fa8000  2         Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.1.so\n    0x00007ffff7f9e000  0x00007ffff7fa3000  2         Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib-dep.so\n    0x00007ffff7891000  0x00007ffff7989000  2         Yes         /usr/lib/libm.so.6\n    0x00007ffff76a1000  0x00007ffff7891000  2         Yes         /usr/lib/libc.so.6\n    0x00007ffff7fc6000  0x00007ffff7fff000  1         Yes         /usr/lib/ld-linux-x86-64.so.2\n    0x00007ffff7f99000  0x00007ffff7f9e000  1         Yes         /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.mi/mi-dlmopen/dlmopen-lib.2.so\n\nChange-Id: Iefad340f7f43a15cff24fc8e1301f91d3d7f0278\nReviewed-By: Guinevere Larsen \u003cguinevere@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "edcdce5a1f5ef30ecde834264960fe2a761ab1b5",
      "old_mode": 33188,
      "old_path": "gdb/solib.c",
      "new_id": "440562e7e1ea7171b5a02fbc47e326140c6f8c5b",
      "new_mode": 33188,
      "new_path": "gdb/solib.c"
    },
    {
      "type": "modify",
      "old_id": "e23edbfa2405e88b1af0f6af606942b9945c6e11",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.base/dlmopen-ns-ids.exp",
      "new_id": "eb12dadd3f547aefd129a7d2a232990fa6d019f4",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/dlmopen-ns-ids.exp"
    },
    {
      "type": "modify",
      "old_id": "cdc49100e4c256e336380e6834d3cd6945e9036a",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.base/dlmopen.exp",
      "new_id": "54fb4c4b4caab31863b466c1b68f88f26810823e",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/dlmopen.exp"
    },
    {
      "type": "modify",
      "old_id": "fa7e3731f4a1c4dd7ba133e737a4f5f630e06c1a",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.mi/mi-dlmopen.exp",
      "new_id": "936027fba471e18ba260dc9c8226ba034c8ecb43",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.mi/mi-dlmopen.exp"
    }
  ]
}
