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