1*4d9fdb46SRobert Mustacchi #ifndef DWARF_XU_INDEX_H 2*4d9fdb46SRobert Mustacchi #define DWARF_XU_INDEX_H 3*4d9fdb46SRobert Mustacchi /* 4*4d9fdb46SRobert Mustacchi 5*4d9fdb46SRobert Mustacchi Copyright (C) 2014-2014 David Anderson. All Rights Reserved. 6*4d9fdb46SRobert Mustacchi 7*4d9fdb46SRobert Mustacchi This program is free software; you can redistribute it and/or modify it 8*4d9fdb46SRobert Mustacchi under the terms of version 2.1 of the GNU Lesser General Public License 9*4d9fdb46SRobert Mustacchi as published by the Free Software Foundation. 10*4d9fdb46SRobert Mustacchi 11*4d9fdb46SRobert Mustacchi This program is distributed in the hope that it would be useful, but 12*4d9fdb46SRobert Mustacchi WITHOUT ANY WARRANTY; without even the implied warranty of 13*4d9fdb46SRobert Mustacchi MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14*4d9fdb46SRobert Mustacchi 15*4d9fdb46SRobert Mustacchi Further, this software is distributed without any warranty that it is 16*4d9fdb46SRobert Mustacchi free of the rightful claim of any third person regarding infringement 17*4d9fdb46SRobert Mustacchi or the like. Any license provided herein, whether implied or 18*4d9fdb46SRobert Mustacchi otherwise, applies only to this software file. Patent licenses, if 19*4d9fdb46SRobert Mustacchi any, provided herein do not apply to combinations of this program with 20*4d9fdb46SRobert Mustacchi other software, or any other product whatsoever. 21*4d9fdb46SRobert Mustacchi 22*4d9fdb46SRobert Mustacchi You should have received a copy of the GNU Lesser General Public 23*4d9fdb46SRobert Mustacchi License along with this program; if not, write the Free Software 24*4d9fdb46SRobert Mustacchi Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston MA 02110-1301, 25*4d9fdb46SRobert Mustacchi USA. 26*4d9fdb46SRobert Mustacchi 27*4d9fdb46SRobert Mustacchi 28*4d9fdb46SRobert Mustacchi */ 29*4d9fdb46SRobert Mustacchi 30*4d9fdb46SRobert Mustacchi 31*4d9fdb46SRobert Mustacchi 32*4d9fdb46SRobert Mustacchi /* The following is based on 33*4d9fdb46SRobert Mustacchi The gdb online documentation at 34*4d9fdb46SRobert Mustacchi https://gcc.gnu.org/wiki/DebugFissionDWP 35*4d9fdb46SRobert Mustacchi and the draft DWARF5 standard. 36*4d9fdb46SRobert Mustacchi */ 37*4d9fdb46SRobert Mustacchi 38*4d9fdb46SRobert Mustacchi 39*4d9fdb46SRobert Mustacchi struct Dwarf_Xu_Index_Header_s { 40*4d9fdb46SRobert Mustacchi Dwarf_Debug gx_dbg; 41*4d9fdb46SRobert Mustacchi Dwarf_Small * gx_section_data; 42*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_section_length; 43*4d9fdb46SRobert Mustacchi 44*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_version; 45*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_column_count_sections; /* N */ 46*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_units_in_index; /* U */ 47*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_slots_in_hash; /* S */ 48*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_hash_table_offset; 49*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_index_table_offset; 50*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_section_offsets_headerline_offset; 51*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_section_offsets_offset; 52*4d9fdb46SRobert Mustacchi Dwarf_Unsigned gx_section_sizes_offset; 53*4d9fdb46SRobert Mustacchi /* Taken from gx_section_offsets_headerline, these 54*4d9fdb46SRobert Mustacchi are the section ids. DW_SECT_* (0 - N-1) */ 55*4d9fdb46SRobert Mustacchi unsigned long gx_section_id[9]; 56*4d9fdb46SRobert Mustacchi 57*4d9fdb46SRobert Mustacchi /* "tu" or "cu" without the quotes, of course. NUL terminated. */ 58*4d9fdb46SRobert Mustacchi char gx_type[4]; 59*4d9fdb46SRobert Mustacchi 60*4d9fdb46SRobert Mustacchi /* Do not free gx_section_name. */ 61*4d9fdb46SRobert Mustacchi const char * gx_section_name; 62*4d9fdb46SRobert Mustacchi }; 63*4d9fdb46SRobert Mustacchi 64*4d9fdb46SRobert Mustacchi #endif /* DWARF_XU_INDEX_H */ 65