xref: /titanic_44/usr/src/tools/ctf/dwarf/common/dwarf_arange.h (revision 07dc1947c362e187fb955d283b692f8769dd5def)
149d3bc91SRichard Lowe /*
249d3bc91SRichard Lowe 
349d3bc91SRichard Lowe   Copyright (C) 2000 Silicon Graphics, Inc.  All Rights Reserved.
4*07dc1947SRichard Lowe   Portions Copyright (C) 2010 David Anderson. All Rights Reserved.
549d3bc91SRichard Lowe 
649d3bc91SRichard Lowe   This program is free software; you can redistribute it and/or modify it
749d3bc91SRichard Lowe   under the terms of version 2.1 of the GNU Lesser General Public License
849d3bc91SRichard Lowe   as published by the Free Software Foundation.
949d3bc91SRichard Lowe 
1049d3bc91SRichard Lowe   This program is distributed in the hope that it would be useful, but
1149d3bc91SRichard Lowe   WITHOUT ANY WARRANTY; without even the implied warranty of
1249d3bc91SRichard Lowe   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1349d3bc91SRichard Lowe 
1449d3bc91SRichard Lowe   Further, this software is distributed without any warranty that it is
1549d3bc91SRichard Lowe   free of the rightful claim of any third person regarding infringement
1649d3bc91SRichard Lowe   or the like.  Any license provided herein, whether implied or
1749d3bc91SRichard Lowe   otherwise, applies only to this software file.  Patent licenses, if
1849d3bc91SRichard Lowe   any, provided herein do not apply to combinations of this program with
1949d3bc91SRichard Lowe   other software, or any other product whatsoever.
2049d3bc91SRichard Lowe 
2149d3bc91SRichard Lowe   You should have received a copy of the GNU Lesser General Public
2249d3bc91SRichard Lowe   License along with this program; if not, write the Free Software
23*07dc1947SRichard Lowe   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston MA 02110-1301,
2449d3bc91SRichard Lowe   USA.
2549d3bc91SRichard Lowe 
26*07dc1947SRichard Lowe   Contact information:  Silicon Graphics, Inc., 1500 Crittenden Lane,
2749d3bc91SRichard Lowe   Mountain View, CA 94043, or:
2849d3bc91SRichard Lowe 
2949d3bc91SRichard Lowe   http://www.sgi.com
3049d3bc91SRichard Lowe 
3149d3bc91SRichard Lowe   For further information regarding this notice, see:
3249d3bc91SRichard Lowe 
3349d3bc91SRichard Lowe   http://oss.sgi.com/projects/GenInfo/NoticeExplan
3449d3bc91SRichard Lowe 
3549d3bc91SRichard Lowe */
3649d3bc91SRichard Lowe 
3749d3bc91SRichard Lowe 
3849d3bc91SRichard Lowe 
3949d3bc91SRichard Lowe /* This structure is used to read an arange into. */
4049d3bc91SRichard Lowe struct Dwarf_Arange_s {
4149d3bc91SRichard Lowe 
42*07dc1947SRichard Lowe     /* The segment selector. Only non-zero if Dwarf4, only
43*07dc1947SRichard Lowe        meaningful if ar_segment_selector_size non-zero   */
44*07dc1947SRichard Lowe     Dwarf_Unsigned ar_segment_selector;
45*07dc1947SRichard Lowe 
4649d3bc91SRichard Lowe     /* Starting address of the arange, ie low-pc. */
4749d3bc91SRichard Lowe     Dwarf_Addr ar_address;
4849d3bc91SRichard Lowe 
4949d3bc91SRichard Lowe     /* Length of the arange. */
5049d3bc91SRichard Lowe     Dwarf_Unsigned ar_length;
5149d3bc91SRichard Lowe 
52*07dc1947SRichard Lowe 
5349d3bc91SRichard Lowe     /*
5449d3bc91SRichard Lowe        Offset into .debug_info of the start of the compilation-unit
5549d3bc91SRichard Lowe        containing this set of aranges. */
5649d3bc91SRichard Lowe     Dwarf_Off ar_info_offset;
5749d3bc91SRichard Lowe 
5849d3bc91SRichard Lowe     /* Corresponding Dwarf_Debug. */
5949d3bc91SRichard Lowe     Dwarf_Debug ar_dbg;
60*07dc1947SRichard Lowe 
61*07dc1947SRichard Lowe     Dwarf_Half ar_segment_selector_size;
6249d3bc91SRichard Lowe };
6349d3bc91SRichard Lowe 
6449d3bc91SRichard Lowe 
6549d3bc91SRichard Lowe 
6649d3bc91SRichard Lowe int
6749d3bc91SRichard Lowe   _dwarf_get_aranges_addr_offsets(Dwarf_Debug dbg,
6849d3bc91SRichard Lowe 				  Dwarf_Addr ** addrs,
6949d3bc91SRichard Lowe 				  Dwarf_Off ** offsets,
7049d3bc91SRichard Lowe 				  Dwarf_Signed * count,
7149d3bc91SRichard Lowe 				  Dwarf_Error * error);
72