[0/4] On-demand debuginfo downloading

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

Message

Aaron Merey Oct. 28, 2023, 12:20 a.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 versions can be found here:
https://sourceware.org/pipermail/gdb-patches/2023-August/201644.html

Patch 2/4 and 3/4 have not changed since posted at the above link and
are included here for convenience.

Aaron Merey (4):
  gdb: Buffer output streams during events that might download debuginfo
  gdb/progspace: Add reverse safe iterator and template for unwrapping
    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                   | 215 ++++++++-----
 gdb/dwarf2/line-header.h                   |  10 +
 gdb/dwarf2/public.h                        |   7 +
 gdb/dwarf2/read-gdb-index.c                | 216 +++++++++++--
 gdb/dwarf2/read.c                          | 354 ++++++++++++++++++++-
 gdb/dwarf2/read.h                          |  47 +++
 gdb/dwarf2/section.c                       |   3 +-
 gdb/elfread.c                              |   2 +-
 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                             |   8 +-
 gdb/objfiles.h                             |  28 +-
 gdb/progspace.c                            |  19 +-
 gdb/progspace.h                            |  31 +-
 gdb/python/py-mi.c                         |   3 +
 gdb/quick-symbol.h                         |   4 +
 gdb/stack.c                                |  35 +-
 gdb/symfile.c                              |  13 +-
 gdb/symtab.c                               |  18 +-
 gdb/testsuite/gdb.debuginfod/libsection1.c |  40 +++
 gdb/testsuite/gdb.debuginfod/libsection2.c |  37 +++
 gdb/testsuite/gdb.debuginfod/section.c     |  29 ++
 gdb/testsuite/gdb.debuginfod/section.exp   | 205 ++++++++++++
 gdb/testsuite/gdb.python/py-objfile.exp    |   2 +-
 gdb/testsuite/lib/debuginfod-support.exp   |  27 +-
 gdb/thread.c                               | 171 +++++-----
 gdb/ui-file.h                              |   2 +-
 gdb/ui-out.c                               | 147 +++++++++
 gdb/ui-out.h                               | 206 ++++++++++++
 gdbsupport/safe-iterator.h                 | 106 ++++++
 42 files changed, 1924 insertions(+), 227 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