149d3bc91SRichard Lowe /* 249d3bc91SRichard Lowe 3*4d9fdb46SRobert Mustacchi Copyright (C) 2000 Silicon Graphics, Inc. All Rights Reserved. 4*4d9fdb46SRobert Mustacchi Portions Copyright (C) 2011 David Anderson. All Rights Reserved. 549d3bc91SRichard Lowe 6*4d9fdb46SRobert Mustacchi This program is free software; you can redistribute it and/or modify it 7*4d9fdb46SRobert Mustacchi under the terms of version 2.1 of the GNU Lesser General Public License 8*4d9fdb46SRobert Mustacchi as published by the Free Software Foundation. 949d3bc91SRichard Lowe 10*4d9fdb46SRobert Mustacchi This program is distributed in the hope that it would be useful, but 11*4d9fdb46SRobert Mustacchi WITHOUT ANY WARRANTY; without even the implied warranty of 12*4d9fdb46SRobert Mustacchi MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 1349d3bc91SRichard Lowe 14*4d9fdb46SRobert Mustacchi Further, this software is distributed without any warranty that it is 15*4d9fdb46SRobert Mustacchi free of the rightful claim of any third person regarding infringement 16*4d9fdb46SRobert Mustacchi or the like. Any license provided herein, whether implied or 17*4d9fdb46SRobert Mustacchi otherwise, applies only to this software file. Patent licenses, if 18*4d9fdb46SRobert Mustacchi any, provided herein do not apply to combinations of this program with 19*4d9fdb46SRobert Mustacchi other software, or any other product whatsoever. 2049d3bc91SRichard Lowe 21*4d9fdb46SRobert Mustacchi You should have received a copy of the GNU Lesser General Public 22*4d9fdb46SRobert Mustacchi License along with this program; if not, write the Free Software 23*4d9fdb46SRobert Mustacchi Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston MA 02110-1301, 24*4d9fdb46SRobert Mustacchi USA. 2549d3bc91SRichard Lowe 2649d3bc91SRichard Lowe */ 2749d3bc91SRichard Lowe 2849d3bc91SRichard Lowe 2949d3bc91SRichard Lowe 30*4d9fdb46SRobert Mustacchi /* This structure is used to read an arange into. */ 3149d3bc91SRichard Lowe struct Dwarf_Arange_s { 3249d3bc91SRichard Lowe 33*4d9fdb46SRobert Mustacchi /* The segment selector. Only non-zero if Dwarf4, only 34*4d9fdb46SRobert Mustacchi meaningful if ar_segment_selector_size non-zero */ 3507dc1947SRichard Lowe Dwarf_Unsigned ar_segment_selector; 3607dc1947SRichard Lowe 3749d3bc91SRichard Lowe /* Starting address of the arange, ie low-pc. */ 3849d3bc91SRichard Lowe Dwarf_Addr ar_address; 3949d3bc91SRichard Lowe 4049d3bc91SRichard Lowe /* Length of the arange. */ 4149d3bc91SRichard Lowe Dwarf_Unsigned ar_length; 4249d3bc91SRichard Lowe 4307dc1947SRichard Lowe 44*4d9fdb46SRobert Mustacchi /* Offset into .debug_info of the start of the compilation-unit 45*4d9fdb46SRobert Mustacchi containing this set of aranges. 46*4d9fdb46SRobert Mustacchi Applies only to .debug_info, not .debug_types. */ 4749d3bc91SRichard Lowe Dwarf_Off ar_info_offset; 4849d3bc91SRichard Lowe 4949d3bc91SRichard Lowe /* Corresponding Dwarf_Debug. */ 5049d3bc91SRichard Lowe Dwarf_Debug ar_dbg; 5107dc1947SRichard Lowe 5207dc1947SRichard Lowe Dwarf_Half ar_segment_selector_size; 5349d3bc91SRichard Lowe }; 5449d3bc91SRichard Lowe 5549d3bc91SRichard Lowe 5649d3bc91SRichard Lowe 5749d3bc91SRichard Lowe int 58*4d9fdb46SRobert Mustacchi _dwarf_get_aranges_addr_offsets(Dwarf_Debug dbg, 59*4d9fdb46SRobert Mustacchi Dwarf_Addr ** addrs, 60*4d9fdb46SRobert Mustacchi Dwarf_Off ** offsets, 61*4d9fdb46SRobert Mustacchi Dwarf_Signed * count, 62*4d9fdb46SRobert Mustacchi Dwarf_Error * error); 63