[0/4] On-demand debuginfo downloading

Message ID 20240117154855.2057850-1-amerey@redhat.com
Headers
Series On-demand debuginfo downloading |

Message

Aaron Merey Jan. 17, 2024, 3:48 p.m. UTC
  Patch set that adds support for lazy/on-demand downloading of debuginfo
as well as .gdb_index, .debug_line and .debug_line_str ELF section
downloading.

Previous version can be found here:
https://sourceware.org/pipermail/gdb-patches/2023-October/203589.html

Aaron Merey (4):
  gdb: Buffer output streams during events that might download debuginfo
  gdb/progspace: Add reverse safe iterator
  gdb/debuginfod: Support on-demand debuginfo downloading
  gdb/debuginfod: Add .debug_line downloading

 gdb/cli-out.c                              |  21 +-
 gdb/cli-out.h                              |   3 +
 gdb/completer.c                            |  18 +-
 gdb/debuginfod-support.c                   |  15 +-
 gdb/dwarf2/frame.c                         |  13 +
 gdb/dwarf2/frame.h                         |   4 +
 gdb/dwarf2/index-cache.c                   |  33 ++
 gdb/dwarf2/index-cache.h                   |  13 +
 gdb/dwarf2/line-header.c                   | 161 +++++++---
 gdb/dwarf2/line-header.h                   |  10 +
 gdb/dwarf2/public.h                        |   7 +
 gdb/dwarf2/read-gdb-index.c                | 185 ++++++++++-
 gdb/dwarf2/read.c                          | 355 ++++++++++++++++++++-
 gdb/dwarf2/read.h                          |  47 +++
 gdb/dwarf2/section.c                       |   3 +-
 gdb/elfread.c                              |   3 +-
 gdb/frame.c                                |   7 +
 gdb/infrun.c                               |  16 +-
 gdb/jit.c                                  |   7 +-
 gdb/mi/mi-out.c                            |   9 +-
 gdb/mi/mi-out.h                            |   3 +
 gdb/objfile-flags.h                        |   4 +
 gdb/objfiles.c                             |  14 +-
 gdb/objfiles.h                             |  30 ++
 gdb/progspace.c                            |  19 +-
 gdb/progspace.h                            |  31 +-
 gdb/python/py-uiout.h                      |   3 +
 gdb/quick-symbol.h                         |   4 +
 gdb/stack.c                                |  35 +-
 gdb/symfile-debug.c                        |  45 ++-
 gdb/symfile.c                              |  13 +-
 gdb/symtab.c                               |  18 +-
 gdb/testsuite/gdb.debuginfod/libsection1.c |  43 +++
 gdb/testsuite/gdb.debuginfod/libsection2.c |  37 +++
 gdb/testsuite/gdb.debuginfod/section.c     |  29 ++
 gdb/testsuite/gdb.debuginfod/section.exp   | 199 ++++++++++++
 gdb/testsuite/gdb.python/py-objfile.exp    |   2 +-
 gdb/testsuite/lib/debuginfod-support.exp   |  27 +-
 gdb/testsuite/lib/gdb.exp                  |   8 +-
 gdb/thread.c                               | 180 ++++++-----
 gdb/ui-file.h                              |   2 +-
 gdb/ui-out.c                               | 144 +++++++++
 gdb/ui-out.h                               | 204 ++++++++++++
 gdbsupport/safe-iterator.h                 | 106 ++++++
 44 files changed, 1910 insertions(+), 220 deletions(-)
 create mode 100644 gdb/testsuite/gdb.debuginfod/libsection1.c
 create mode 100644 gdb/testsuite/gdb.debuginfod/libsection2.c
 create mode 100644 gdb/testsuite/gdb.debuginfod/section.c
 create mode 100644 gdb/testsuite/gdb.debuginfod/section.exp