[PATCH 0/7] gdb/debuginfod: Add on-demand debuginfo downloading

Aaron Merey amerey@redhat.com
Wed Aug 16 04:42:51 GMT 2023


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.

Aaron Merey (7):
  config/debuginfod.m4: Add check for libdebuginfod 0.188
  gdb/debuginfod: Add debuginfod_section_query
  gdb: Add command 'maint set/show debuginfod download-sections'
  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

 binutils/config.in                         |   3 +
 binutils/configure                         | 108 ++++++-
 config/debuginfod.m4                       |  13 +-
 gdb/cli-out.c                              |  21 +-
 gdb/cli-out.h                              |   3 +
 gdb/completer.c                            |  18 +-
 gdb/config.in                              |   3 +
 gdb/configure                              | 108 ++++++-
 gdb/debuginfod-support.c                   | 136 +++++++-
 gdb/debuginfod-support.h                   |  24 ++
 gdb/doc/gdb.texinfo                        |  19 +-
 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                               | 123 +++++++
 gdb/ui-out.h                               | 194 +++++++++++
 gdbsupport/safe-iterator.h                 | 106 ++++++
 49 files changed, 2280 insertions(+), 234 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

-- 
2.41.0



More information about the Gdb-patches mailing list