xref: /titanic_44/usr/src/tools/ctf/dwarf/common/pro_die.h (revision 07dc1947c362e187fb955d283b692f8769dd5def)
149d3bc91SRichard Lowe /*
249d3bc91SRichard Lowe 
3*07dc1947SRichard Lowe   Copyright (C) 2000,2004 Silicon Graphics, Inc.  All Rights Reserved.
449d3bc91SRichard Lowe 
549d3bc91SRichard Lowe   This program is free software; you can redistribute it and/or modify it
649d3bc91SRichard Lowe   under the terms of version 2.1 of the GNU Lesser General Public License
749d3bc91SRichard Lowe   as published by the Free Software Foundation.
849d3bc91SRichard Lowe 
949d3bc91SRichard Lowe   This program is distributed in the hope that it would be useful, but
1049d3bc91SRichard Lowe   WITHOUT ANY WARRANTY; without even the implied warranty of
1149d3bc91SRichard Lowe   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1249d3bc91SRichard Lowe 
1349d3bc91SRichard Lowe   Further, this software is distributed without any warranty that it is
1449d3bc91SRichard Lowe   free of the rightful claim of any third person regarding infringement
1549d3bc91SRichard Lowe   or the like.  Any license provided herein, whether implied or
1649d3bc91SRichard Lowe   otherwise, applies only to this software file.  Patent licenses, if
1749d3bc91SRichard Lowe   any, provided herein do not apply to combinations of this program with
1849d3bc91SRichard Lowe   other software, or any other product whatsoever.
1949d3bc91SRichard Lowe 
2049d3bc91SRichard Lowe   You should have received a copy of the GNU Lesser General Public
2149d3bc91SRichard Lowe   License along with this program; if not, write the Free Software
22*07dc1947SRichard Lowe   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston MA 02110-1301,
2349d3bc91SRichard Lowe   USA.
2449d3bc91SRichard Lowe 
25*07dc1947SRichard Lowe   Contact information:  Silicon Graphics, Inc., 1500 Crittenden Lane,
2649d3bc91SRichard Lowe   Mountain View, CA 94043, or:
2749d3bc91SRichard Lowe 
2849d3bc91SRichard Lowe   http://www.sgi.com
2949d3bc91SRichard Lowe 
3049d3bc91SRichard Lowe   For further information regarding this notice, see:
3149d3bc91SRichard Lowe 
3249d3bc91SRichard Lowe   http://oss.sgi.com/projects/GenInfo/NoticeExplan
3349d3bc91SRichard Lowe 
3449d3bc91SRichard Lowe */
3549d3bc91SRichard Lowe 
3649d3bc91SRichard Lowe 
3749d3bc91SRichard Lowe 
3849d3bc91SRichard Lowe 
3949d3bc91SRichard Lowe /*
4049d3bc91SRichard Lowe 	This struct holds the abbreviation table, before they are written
4149d3bc91SRichard Lowe 	on disk. Holds a linked list of abbreviations, each consisting of
4249d3bc91SRichard Lowe 	a bitmap for attributes and a bitmap for forms
4349d3bc91SRichard Lowe */
4449d3bc91SRichard Lowe typedef struct Dwarf_P_Abbrev_s *Dwarf_P_Abbrev;
4549d3bc91SRichard Lowe 
4649d3bc91SRichard Lowe struct Dwarf_P_Abbrev_s {
4749d3bc91SRichard Lowe     Dwarf_Unsigned abb_idx;	/* index of abbreviation */
4849d3bc91SRichard Lowe     Dwarf_Tag abb_tag;		/* tag of die */
4949d3bc91SRichard Lowe     Dwarf_Ubyte abb_children;	/* if children are present */
5049d3bc91SRichard Lowe     Dwarf_ufixed *abb_attrs;	/* holds names of attrs */
5149d3bc91SRichard Lowe     Dwarf_ufixed *abb_forms;	/* forms of attributes */
5249d3bc91SRichard Lowe     int abb_n_attr;		/* num of attrs = # of forms */
5349d3bc91SRichard Lowe     Dwarf_P_Abbrev abb_next;
5449d3bc91SRichard Lowe };
5549d3bc91SRichard Lowe 
5649d3bc91SRichard Lowe /* used in pro_section.c */
5749d3bc91SRichard Lowe 
5849d3bc91SRichard Lowe int _dwarf_pro_add_AT_fde(Dwarf_P_Debug dbg, Dwarf_P_Die die,
5949d3bc91SRichard Lowe 			  Dwarf_Unsigned offset, Dwarf_Error * error);
6049d3bc91SRichard Lowe 
6149d3bc91SRichard Lowe int _dwarf_pro_add_AT_stmt_list(Dwarf_P_Debug dbg,
6249d3bc91SRichard Lowe 				Dwarf_P_Die first_die,
6349d3bc91SRichard Lowe 				Dwarf_Error * error);
6449d3bc91SRichard Lowe 
6549d3bc91SRichard Lowe int _dwarf_pro_add_AT_macro_info(Dwarf_P_Debug dbg,
6649d3bc91SRichard Lowe 				 Dwarf_P_Die first_die,
6749d3bc91SRichard Lowe 				 Dwarf_Unsigned offset,
6849d3bc91SRichard Lowe 				 Dwarf_Error * error);
69