diff options
author | Tom Tromey <tom@tromey.com> | 2020-03-26 09:28:08 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-03-26 09:28:21 -0600 |
commit | c2d50fd0b30f640301c3736038bec82b40a3f0dc (patch) | |
tree | 4bd17ac08bd0b0fe6711841a384dda59f49aa32d /gdb | |
parent | 0df7ad3a675692fcc75c85c43e475015b87a297e (diff) | |
download | gdb-c2d50fd0b30f640301c3736038bec82b40a3f0dc.zip gdb-c2d50fd0b30f640301c3736038bec82b40a3f0dc.tar.gz gdb-c2d50fd0b30f640301c3736038bec82b40a3f0dc.tar.bz2 |
Move die_info to new header
This moves struct die_info to a new header, dwarf2/die.h.
gdb/ChangeLog
2020-03-26 Tom Tromey <tom@tromey.com>
* dwarf2/read.c (struct die_info): Move to die.h.
* dwarf2/die.h: New file.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2/die.h | 62 | ||||
-rw-r--r-- | gdb/dwarf2/read.c | 40 |
3 files changed, 68 insertions, 39 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bc524e1..51ebd3c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2020-03-26 Tom Tromey <tom@tromey.com> + * dwarf2/read.c (struct die_info): Move to die.h. + * dwarf2/die.h: New file. + +2020-03-26 Tom Tromey <tom@tromey.com> + * dwarf2/line-header.h (dwarf_decode_line_header): Declare. * dwarf2/read.c (dwarf2_statement_list_fits_in_line_number_section_complaint): diff --git a/gdb/dwarf2/die.h b/gdb/dwarf2/die.h new file mode 100644 index 0000000..f8826a2 --- /dev/null +++ b/gdb/dwarf2/die.h @@ -0,0 +1,62 @@ +/* DWARF DIEs + + 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_DIE_H +#define GDB_DWARF2_DIE_H + +/* This data structure holds a complete die structure. */ +struct die_info +{ + /* DWARF-2 tag for this DIE. */ + ENUM_BITFIELD(dwarf_tag) tag : 16; + + /* Number of attributes */ + unsigned char num_attrs; + + /* True if we're presently building the full type name for the + type derived from this DIE. */ + unsigned char building_fullname : 1; + + /* True if this die is in process. PR 16581. */ + unsigned char in_process : 1; + + /* True if this DIE has children. */ + unsigned char has_children : 1; + + /* Abbrev number */ + unsigned int abbrev; + + /* Offset in .debug_info or .debug_types section. */ + sect_offset sect_off; + + /* The dies in a compilation unit form an n-ary tree. PARENT + points to this die's parent; CHILD points to the first child of + this node; and all the children of a given node are chained + together via their SIBLING fields. */ + struct die_info *child; /* Its first child, if any. */ + struct die_info *sibling; /* Its next sibling, if any. */ + struct die_info *parent; /* Its parent, if any. */ + + /* An array of attributes, with NUM_ATTRS elements. There may be + zero, but it's not common and zero-sized arrays are not + sufficiently portable C. */ + struct attribute attrs[1]; +}; + +#endif /* GDB_DWARF2_DIE_H */ diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index ff5fa74..bdf3a89 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -39,6 +39,7 @@ #include "dwarf2/line-header.h" #include "dwarf2/dwz.h" #include "dwarf2/macro.h" +#include "dwarf2/die.h" #include "bfd.h" #include "elf-bfd.h" #include "symtab.h" @@ -1045,45 +1046,6 @@ struct partial_die_info : public allocate_on_obstack } }; -/* This data structure holds a complete die structure. */ -struct die_info - { - /* DWARF-2 tag for this DIE. */ - ENUM_BITFIELD(dwarf_tag) tag : 16; - - /* Number of attributes */ - unsigned char num_attrs; - - /* True if we're presently building the full type name for the - type derived from this DIE. */ - unsigned char building_fullname : 1; - - /* True if this die is in process. PR 16581. */ - unsigned char in_process : 1; - - /* True if this DIE has children. */ - unsigned char has_children : 1; - - /* Abbrev number */ - unsigned int abbrev; - - /* Offset in .debug_info or .debug_types section. */ - sect_offset sect_off; - - /* The dies in a compilation unit form an n-ary tree. PARENT - points to this die's parent; CHILD points to the first child of - this node; and all the children of a given node are chained - together via their SIBLING fields. */ - struct die_info *child; /* Its first child, if any. */ - struct die_info *sibling; /* Its next sibling, if any. */ - struct die_info *parent; /* Its parent, if any. */ - - /* An array of attributes, with NUM_ATTRS elements. There may be - zero, but it's not common and zero-sized arrays are not - sufficiently portable C. */ - struct attribute attrs[1]; - }; - /* FIXME: We might want to set this from BFD via bfd_arch_bits_per_byte, but this would require a corresponding change in unpack_field_as_long and friends. */ |