)]}'
{
  "commit": "57eea4cd0dd2e2cc4fb81738ba6a310dd31b6789",
  "tree": "32290f5a2f93418ebb3ea6689f723aec8eb22846",
  "parents": [
    "8422833a4f17d6542f8331e0408fe3e81abc6d78"
  ],
  "author": {
    "name": "Simon Marchi",
    "email": "simon.marchi@efficios.com",
    "time": "Tue May 06 13:03:47 2025 -0400"
  },
  "committer": {
    "name": "Simon Marchi",
    "email": "simon.marchi@efficios.com",
    "time": "Mon May 12 14:50:31 2025 -0400"
  },
  "message": "gdb/dwarf: skip broken .debug_macro.dwo\n\nRunning gdb.base/errno.exp with gcc \u003c\u003d 13 with split DWARF results in:\n\n    $ make check TESTS\u003d\"gdb.base/errno.exp\" RUNTESTFLAGS\u003d\"CC_FOR_TARGET\u003dgcc-13 --target_board\u003dfission\"\n    (gdb) break -qualified main\n    /home/smarchi/src/binutils-gdb/gdb/dwarf2/read.c:7549: internal-error: locate_dwo_sections: Assertion `!dw_sect-\u003ereadin\u0027 failed.\n    A problem internal to GDB has been detected,\n    further debugging may prove unreliable.\n    ...\n    FAIL: gdb.base/errno.exp: macros: gdb_breakpoint: set breakpoint at main (GDB internal error)\n\nThe assert being hit has been added in 28f15782adab (\"gdb/dwarf: read\nmultiple .debug_info.dwo sections\"), but it merely exposed an existing\nproblem.\n\ngcc versions \u003c\u003d 13 are affected by this bug:\n\n  https://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d111409\n\nBasically, it produces .dwo files with multiple .debug_macro.dwo\nsections, with some unresolved links between them.  I think that this\nmacro debug info is unusable, and all we can do is ignore it.\n\nIn locate_dwo_sections, if we detect a second .debug_macro.dwo section,\nforget about the previous .debug_macro.dwo and any subsequent one.  This\nwill effectively make it as if the macro debug info wasn\u0027t there at all.\n\nThe errno test seems happy with it:\n\n    # of expected passes            84\n    # of expected failures          8\n\nChange-Id: I6489b4713954669bf69f6e91865063ddcd1ac2c8\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "550968abc95c9eb8b35fa2718cc3f1305dd8664c",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/read.c",
      "new_id": "891e10f6e816135e002ee32529291b59bfcb5ffe",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/read.c"
    }
  ]
}
