)]}'
{
  "commit": "9dc89f2b274b8bc8c1c5335580997b2a14865503",
  "tree": "d8bca478ce2bb3f03ad70c5a17b67403e2246881",
  "parents": [
    "231a8ab70fc5af0d7534a9eb36430220c4d65d5d"
  ],
  "author": {
    "name": "Ijaz, Abdul B",
    "email": "abdul.b.ijaz@intel.com",
    "time": "Tue Jul 23 17:59:29 2024 +0200"
  },
  "committer": {
    "name": "Abdul Basit Ijaz",
    "email": "abdul.b.ijaz@intel.com",
    "time": "Sun Nov 17 02:02:11 2024 +0100"
  },
  "message": "gdb: Update linkage name lookup function to allow mst_file_data/bss types.\n\nFrom the commit 667ed4b14ddaa9af196481f1757c0e517e80b6ed onward, instead\nof normal name GDB looks for the \"jit_descriptor\" linkage name in the JIT\ncode initialization.  Without this change, the function\n\"lookup_minimal_symbol_linkage\", only matches the non-static data.  So in\ncase jit_debugger is static type then setting up breakpoint in the JIT code\nfails.  Issue is seen for the intel compilers, where jit_debug_descriptor has\nstatic type i.e. \"mst_file_data\".  Hence lookup_minimal_symbol_linkage returns\nnullptr for it.  So, in this case breakpoint does not hit in the JIT code.\nTo resolve this, the commit introduces a new boolean argument to the\nlookup_minimal_symbol_linkage function.  This argument allows the function to\nalso match mst_file_data and mst_file_bss types when set to true.  The\nfunction is called with this new argument set to true only from JIT code\ninitialization handling, ensuring that the current behavior remains unchanged\nfor other cases.  Because handling of static types of data symbols for all cases\nresult in regression for \"gdb.base/print-file-var.exp\" test.\n\nExample of minsym for the JIT code emitted by the intel compilers where\nlookup_minimal_symbol_linkage fails without this change because jit_debugger\ntype is \"mst_file_data\".\n\n(top-gdb) p *msymbol\n$1 \u003d {\u003cgeneral_symbol_info\u003e \u003d\n{m_name \u003d 0x7fffcc77dc95 \"__jit_debug_descriptor\",\nm_value \u003d {ivalue \u003d 84325936, block \u003d 0x506b630,\nbytes \u003d 0x506b630 \u003cerror: Cannot access memory at address 0x506b630\u003e,\naddress \u003d 0x506b630, unrel_addr \u003d (unknown: 0x506b630),\ncommon_block \u003d 0x506b630, chain \u003d 0x506b630},\nlanguage_specific \u003d {obstack \u003d 0x0, demangled_name \u003d 0x0},\nm_language \u003d language_unknown, ada_mangled \u003d 0, m_section \u003d 29},\nm_size \u003d 24, filename \u003d 0x55555a751b70 \"JITLoaderGDB.cpp\",\nm_type \u003d mst_file_data, created_by_gdb \u003d 0,\nm_target_flag_1 \u003d 0, m_target_flag_2 \u003d 0, m_has_size \u003d 1,\nname_set \u003d 1, hash_next \u003d 0x55555b86e4f0, demangled_hash_next \u003d 0x0}\n\nUpdated the test \"jit-elf-so.exp\" to test the static type of jit_descriptor\nobject.\n\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1c9706dcd2a0b89654688636e340c8420d80f29a",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/read.c",
      "new_id": "2f421a4c266941d566e64fe622e681dae5d9e054",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/read.c"
    },
    {
      "type": "modify",
      "old_id": "ed3b26cd4bd154550bd36ed2cf3fc7a4df093c8f",
      "old_mode": 33188,
      "old_path": "gdb/jit.c",
      "new_id": "48be1c880c914f0ab960477fa07d8b572ae74ff6",
      "new_mode": 33188,
      "new_path": "gdb/jit.c"
    },
    {
      "type": "modify",
      "old_id": "33eb9072e5f3c49229ab7f70385538763f98d8b2",
      "old_mode": 33188,
      "old_path": "gdb/minsyms.c",
      "new_id": "4e1868c9f87ffed15df9eb5a7b632ae01f9fdbaa",
      "new_mode": 33188,
      "new_path": "gdb/minsyms.c"
    },
    {
      "type": "modify",
      "old_id": "9659f30dff8bb0a10c0ebe2c221626a4d8af2c6e",
      "old_mode": 33188,
      "old_path": "gdb/minsyms.h",
      "new_id": "4e6d5db91395ce4f18a9158e20472dede86228c3",
      "new_mode": 33188,
      "new_path": "gdb/minsyms.h"
    },
    {
      "type": "modify",
      "old_id": "f28c181fa85e0e9c38d58b4c5d3a44e4babe8348",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.base/jit-elf-so.exp",
      "new_id": "2759c64158849a158565f2e902f6b242c0e4bb83",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/jit-elf-so.exp"
    },
    {
      "type": "modify",
      "old_id": "d143dd6042c2d17ce93137b7baf995f3a3b7d02d",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.base/jit-protocol.h",
      "new_id": "3e85c199c9f0a004a9fe1f5644d0b291d9da1386",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/jit-protocol.h"
    }
  ]
}
