aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-03-26 09:28:08 -0600
committerTom Tromey <tom@tromey.com>2020-03-26 09:28:08 -0600
commit9fda78b61127cbcf718104b7e5a78cf137c07836 (patch)
treebdbdd67905d27b0c5b782493fb80c23ea8c9f133
parentaa49fc22c13a685452a2073e252d8b34ecbcc012 (diff)
downloadgdb-9fda78b61127cbcf718104b7e5a78cf137c07836.zip
gdb-9fda78b61127cbcf718104b7e5a78cf137c07836.tar.gz
gdb-9fda78b61127cbcf718104b7e5a78cf137c07836.tar.bz2
Introduce dwarf2/dwz.h
This moves "struct dwz_file" to a new header file, dwarf2/dwz.h. gdb/ChangeLog 2020-03-26 Tom Tromey <tom@tromey.com> * dwarf2/read.h (struct dwz_file): Move to dwz.h. * dwarf2/read.c: Add include. * dwarf2/index-write.c: Add include. * dwarf2/index-cache.c: Add include. * dwarf2/dwz.h: New file.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/dwarf2/dwz.h58
-rw-r--r--gdb/dwarf2/index-cache.c1
-rw-r--r--gdb/dwarf2/index-write.c1
-rw-r--r--gdb/dwarf2/read.c1
-rw-r--r--gdb/dwarf2/read.h31
6 files changed, 69 insertions, 31 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1ee58a5..cafe90e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2020-03-26 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.h (struct dwz_file): Move to dwz.h.
+ * dwarf2/read.c: Add include.
+ * dwarf2/index-write.c: Add include.
+ * dwarf2/index-cache.c: Add include.
+ * dwarf2/dwz.h: New file.
+
2020-03-25 Tom Tromey <tom@tromey.com>
* compile/compile-object-load.c (get_out_value_type): Mention
diff --git a/gdb/dwarf2/dwz.h b/gdb/dwarf2/dwz.h
new file mode 100644
index 0000000..94b84eb
--- /dev/null
+++ b/gdb/dwarf2/dwz.h
@@ -0,0 +1,58 @@
+/* DWARF DWZ handling for GDB.
+
+ Copyright (C) 2003-2020 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef GDB_DWARF2_DWZ_H
+#define GDB_DWARF2_DWZ_H
+
+#include "gdb_bfd.h"
+#include "dwarf2/index-cache.h"
+#include "dwarf2/section.h"
+
+/* This represents a '.dwz' file. */
+
+struct dwz_file
+{
+ dwz_file (gdb_bfd_ref_ptr &&bfd)
+ : dwz_bfd (std::move (bfd))
+ {
+ }
+
+ const char *filename () const
+ {
+ return bfd_get_filename (this->dwz_bfd.get ());
+ }
+
+ /* A dwz file can only contain a few sections. */
+ struct dwarf2_section_info abbrev {};
+ struct dwarf2_section_info info {};
+ struct dwarf2_section_info str {};
+ struct dwarf2_section_info line {};
+ struct dwarf2_section_info macro {};
+ struct dwarf2_section_info gdb_index {};
+ struct dwarf2_section_info debug_names {};
+
+ /* The dwz's BFD. */
+ gdb_bfd_ref_ptr dwz_bfd;
+
+ /* If we loaded the index from an external file, this contains the
+ resources associated to the open file, memory mapping, etc. */
+ std::unique_ptr<index_cache_resource> index_cache_res;
+};
+
+#endif /* GDB_DWARF2_DWZ_H */
diff --git a/gdb/dwarf2/index-cache.c b/gdb/dwarf2/index-cache.c
index 7b4d9975..62fbe2a 100644
--- a/gdb/dwarf2/index-cache.c
+++ b/gdb/dwarf2/index-cache.c
@@ -27,6 +27,7 @@
#include "gdbsupport/pathstuff.h"
#include "dwarf2/index-write.h"
#include "dwarf2/read.h"
+#include "dwarf2/dwz.h"
#include "objfiles.h"
#include "gdbsupport/selftest.h"
#include <string>
diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c
index 4b711d0..8c933dc 100644
--- a/gdb/dwarf2/index-write.c
+++ b/gdb/dwarf2/index-write.c
@@ -32,6 +32,7 @@
#include "dwarf2/index-common.h"
#include "dwarf2.h"
#include "dwarf2/read.h"
+#include "dwarf2/dwz.h"
#include "gdb/gdb-index.h"
#include "gdbcmd.h"
#include "objfiles.h"
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 0e879e0..57ef242 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -37,6 +37,7 @@
#include "dwarf2/index-common.h"
#include "dwarf2/leb.h"
#include "dwarf2/line-header.h"
+#include "dwarf2/dwz.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "symtab.h"
diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h
index f0e3d6b..c5a8ecf 100644
--- a/gdb/dwarf2/read.h
+++ b/gdb/dwarf2/read.h
@@ -491,37 +491,6 @@ struct signatured_type
struct dwo_unit *dwo_unit;
};
-/* This represents a '.dwz' file. */
-
-struct dwz_file
-{
- dwz_file (gdb_bfd_ref_ptr &&bfd)
- : dwz_bfd (std::move (bfd))
- {
- }
-
- const char *filename () const
- {
- return bfd_get_filename (this->dwz_bfd.get ());
- }
-
- /* A dwz file can only contain a few sections. */
- struct dwarf2_section_info abbrev {};
- struct dwarf2_section_info info {};
- struct dwarf2_section_info str {};
- struct dwarf2_section_info line {};
- struct dwarf2_section_info macro {};
- struct dwarf2_section_info gdb_index {};
- struct dwarf2_section_info debug_names {};
-
- /* The dwz's BFD. */
- gdb_bfd_ref_ptr dwz_bfd;
-
- /* If we loaded the index from an external file, this contains the
- resources associated to the open file, memory mapping, etc. */
- std::unique_ptr<index_cache_resource> index_cache_res;
-};
-
/* Open the separate '.dwz' debug file, if needed. Return NULL if
there is no .gnu_debugaltlink section in the file. Error if there
is such a section but the file cannot be found. */