1130561Sobrien/* dw2gencfi.h - Support for generating Dwarf2 CFI information.
2130561Sobrien   Copyright 2003 Free Software Foundation, Inc.
3130561Sobrien   Contributed by Michal Ludvig <mludvig@suse.cz>
4130561Sobrien
5130561Sobrien   This file is part of GAS, the GNU Assembler.
6130561Sobrien
7130561Sobrien   GAS is free software; you can redistribute it and/or modify
8130561Sobrien   it under the terms of the GNU General Public License as published by
9130561Sobrien   the Free Software Foundation; either version 2, or (at your option)
10130561Sobrien   any later version.
11130561Sobrien
12130561Sobrien   GAS is distributed in the hope that it will be useful,
13130561Sobrien   but WITHOUT ANY WARRANTY; without even the implied warranty of
14130561Sobrien   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15130561Sobrien   GNU General Public License for more details.
16130561Sobrien
17130561Sobrien   You should have received a copy of the GNU General Public License
18130561Sobrien   along with GAS; see the file COPYING.  If not, write to the Free
19218822Sdim   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
20218822Sdim   02110-1301, USA.  */
21130561Sobrien
22130561Sobrien#ifndef DW2GENCFI_H
23130561Sobrien#define DW2GENCFI_H
24130561Sobrien
25130561Sobrien#include "elf/dwarf2.h"
26130561Sobrien
27130561Sobrienstruct symbol;
28130561Sobrien
29130561Sobrienextern const pseudo_typeS cfi_pseudo_table[];
30130561Sobrien
31130561Sobrien/* cfi_finish() is called at the end of file. It will complain if
32130561Sobrien   the last CFI wasn't properly closed by .cfi_endproc.  */
33130561Sobrienextern void cfi_finish (void);
34130561Sobrien
35130561Sobrien/* Entry points for backends to add unwind information.  */
36130561Sobrienextern void cfi_new_fde (struct symbol *);
37130561Sobrienextern void cfi_end_fde (struct symbol *);
38130561Sobrienextern void cfi_set_return_column (unsigned);
39130561Sobrienextern void cfi_add_advance_loc (struct symbol *);
40130561Sobrien
41130561Sobrienextern void cfi_add_CFA_offset (unsigned, offsetT);
42130561Sobrienextern void cfi_add_CFA_def_cfa (unsigned, offsetT);
43130561Sobrienextern void cfi_add_CFA_register (unsigned, unsigned);
44130561Sobrienextern void cfi_add_CFA_def_cfa_register (unsigned);
45130561Sobrienextern void cfi_add_CFA_def_cfa_offset (offsetT);
46130561Sobrienextern void cfi_add_CFA_restore (unsigned);
47130561Sobrienextern void cfi_add_CFA_undefined (unsigned);
48130561Sobrienextern void cfi_add_CFA_same_value (unsigned);
49130561Sobrienextern void cfi_add_CFA_remember_state (void);
50130561Sobrienextern void cfi_add_CFA_restore_state (void);
51130561Sobrien
52130561Sobrien#endif /* DW2GENCFI_H */
53