[0/6,v3] gdb/debuginfod: Add on-demand debuginfo downloading

Message ID 20230601014347.3367489-1-amerey@redhat.com
Headers
Series gdb/debuginfod: Add on-demand debuginfo downloading |

Message

Aaron Merey June 1, 2023, 1:43 a.m. UTC
  Aaron Merey (6):
  gdb/debuginfod: Add debuginfod_section_query
  gdb: Add command 'maint set/show debuginfod download-sections'
  gdb: Buffer gdb_stdout during events that might download deferred
    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

 config/debuginfod.m4                       |  33 +++
 gdb/cli-out.c                              |  28 +-
 gdb/cli-out.h                              |   1 +
 gdb/config.in                              |   3 +
 gdb/configure                              | 116 +++++++-
 gdb/configure.ac                           |   2 +-
 gdb/debuginfod-support.c                   | 139 ++++++++-
 gdb/debuginfod-support.h                   |  24 ++
 gdb/doc/gdb.texinfo                        |  16 +-
 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                | 183 ++++++++++--
 gdb/dwarf2/read.c                          | 311 ++++++++++++++++++++-
 gdb/dwarf2/read.h                          |  41 +++
 gdb/dwarf2/section.c                       |   3 +-
 gdb/elfread.c                              |   2 +-
 gdb/infrun.c                               |  17 +-
 gdb/mi/mi-out.c                            |  29 ++
 gdb/mi/mi-out.h                            |   1 +
 gdb/objfile-flags.h                        |   4 +
 gdb/objfiles.h                             |  33 ++-
 gdb/progspace.c                            |   8 +-
 gdb/progspace.h                            | 159 ++++++++---
 gdb/python/py-mi.c                         |   2 +
 gdb/quick-symbol.h                         |   4 +
 gdb/stack.c                                |  38 ++-
 gdb/symfile-debug.c                        | 136 ++++-----
 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   | 202 +++++++++++++
 gdb/testsuite/gdb.python/py-objfile.exp    |   2 +-
 gdb/testsuite/lib/debuginfod-support.exp   |  35 ++-
 gdb/thread.c                               | 174 +++++++-----
 gdb/ui-file.c                              |  62 ++++
 gdb/ui-file.h                              |  45 ++-
 gdb/ui-out.c                               |  21 ++
 gdb/ui-out.h                               |  66 +++++
 45 files changed, 2058 insertions(+), 314 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