)]}'
{
  "commit": "dbbb9cfd3708a5b09b449c6cbc4d74dfec13904d",
  "tree": "8038a1039c96fb89019ff9f766422602916cb8ef",
  "parents": [
    "b1cbe15966c1cd6228cae62db5b8a011cf08e014"
  ],
  "author": {
    "name": "Guinevere Larsen",
    "email": "guinevere@redhat.com",
    "time": "Wed Mar 26 11:14:52 2025 -0300"
  },
  "committer": {
    "name": "Guinevere Larsen",
    "email": "guinevere@redhat.com",
    "time": "Wed Apr 23 09:44:53 2025 -0300"
  },
  "message": "GDB: Introduce \"info linker-namespaces\" command\n\nContinuing to improve GDB\u0027s ability to debug linker namespaces, this\ncommit adds the command \"info linker- namespaces\". The command is\nsimilar to \"info sharedlibrary\" but focused on improved readability\nwhen the inferior has multiple linker namespaces active. This command\ncan be used in 2 different ways, with or without an argument.\n\nWhen called without argument, the command will print the number of\nnamespaces, and for each active namespace, it\u0027s identifier, how many\nlibraries are loaded in it, and all the libraries (in a similar table to\nwhat \"info sharedlibrary\" shows). As an example, this is what GDB\u0027s\noutput could look like:\n\n  (gdb) info linker-namespaces\n  There are 2 linker namespaces loaded\n  There are 3 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  0x00007ffff7ebc000  0x00007ffff7fa2000  Yes (*)     /lib64/libm.so.6\n  0x00007ffff7cc9000  0x00007ffff7ebc000  Yes (*)     /lib64/libc.so.6\n  (*): Shared library is missing debugging information.\n\n  There are 4 libraries loaded in linker namespace [[1]]\n  Displaying libraries for linker namespace [[1]]:\n  From                To                  Syms Read   Shared Object Library\n  0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /lib64/ld-linux-x86-64.so.2\n  0x00007ffff7fb9000  0x00007ffff7fbe000  Yes         gdb.base/dlmopen-ns-ids/dlmopen-lib.so\n  0x00007ffff7bc4000  0x00007ffff7caa000  Yes (*)     /lib64/libm.so.6\n  0x00007ffff79d1000  0x00007ffff7bc4000  Yes (*)     /lib64/libc.so.6\n  (*): Shared library is missing debugging information.\n\nWhen called with an argument, the argument must be a namespace\nidentifier (either with or without the square brackets decorators). In\nthis situation, the command will truncate the output to only show the\nrelevant information for the requested namespace. For example:\n\n  (gdb) info linker-namespaces 0\n  There are 3 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  0x00007ffff7ebc000  0x00007ffff7fa2000  Yes (*)     /lib64/libm.so.6\n  0x00007ffff7cc9000  0x00007ffff7ebc000  Yes (*)     /lib64/libc.so.6\n  (*): Shared library is missing debugging information.\n\nThe test gdb.base/dlmopen-ns-id.exp has been extended to test this new\ncommand.  Because some gcc and glibc defaults can change between\nsystems, we are not guaranteed to always have libc and libm loaded in a\nnamespace, so we can\u0027t guarantee the number of libraries, but the range\nof the result is 2, so we can still check for glaring issues.\n\nReviewed-By: Eli Zaretskii \u003celiz@gnu.org\u003e\nApproved-by: Kevin Buettner \u003ckevinb@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a47a1b85d21986e12d0ed9116527612ee4e4b00f",
      "old_mode": 33188,
      "old_path": "gdb/NEWS",
      "new_id": "164e872182a66eac5a5ea26b99c37cd6a68acb82",
      "new_mode": 33188,
      "new_path": "gdb/NEWS"
    },
    {
      "type": "modify",
      "old_id": "b423bb3692255e525fd93cc0565c28f7f3ee14d1",
      "old_mode": 33188,
      "old_path": "gdb/doc/gdb.texinfo",
      "new_id": "48b193b022bbc5833cd56a59febca6064f46f7b8",
      "new_mode": 33188,
      "new_path": "gdb/doc/gdb.texinfo"
    },
    {
      "type": "modify",
      "old_id": "148359a0227ee2f074369f019357e37ec2cdfe8c",
      "old_mode": 33188,
      "old_path": "gdb/solib-svr4.c",
      "new_id": "2a2745dc2716e530157543981042a376f95cb583",
      "new_mode": 33188,
      "new_path": "gdb/solib-svr4.c"
    },
    {
      "type": "modify",
      "old_id": "5ed3ffb2bd092b54df2d78709fcd536572994c22",
      "old_mode": 33188,
      "old_path": "gdb/solib.c",
      "new_id": "5c5cfbdd9b92634d95a1b342b132f961a37d9a79",
      "new_mode": 33188,
      "new_path": "gdb/solib.c"
    },
    {
      "type": "modify",
      "old_id": "0b7bbf9bd18b1ca9861590be08f222322a695462",
      "old_mode": 33188,
      "old_path": "gdb/solist.h",
      "new_id": "6ab5a06ccc9002ba88a6f3f36a267d1223ae2508",
      "new_mode": 33188,
      "new_path": "gdb/solist.h"
    },
    {
      "type": "modify",
      "old_id": "1af57d13eb0a224cd00f5288861a63a677bbbd77",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.base/dlmopen-ns-ids.exp",
      "new_id": "8f521992bd1ede2e31fa49ca9060974a990cb152",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/dlmopen-ns-ids.exp"
    }
  ]
}
