1/* dw2gencfi.h - Support for generating Dwarf2 CFI information. 2 Copyright 2003 Free Software Foundation, Inc. 3 Contributed by Michal Ludvig <mludvig@suse.cz> 4 5 This file is part of GAS, the GNU Assembler. 6 7 GAS is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2, or (at your option) 10 any later version. 11 12 GAS is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with GAS; see the file COPYING. If not, write to the Free 19 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 20 02110-1301, USA. */ 21 22#ifndef DW2GENCFI_H 23#define DW2GENCFI_H 24 25#include "elf/dwarf2.h" 26 27struct symbol; 28 29extern const pseudo_typeS cfi_pseudo_table[]; 30 31/* cfi_finish() is called at the end of file. It will complain if 32 the last CFI wasn't properly closed by .cfi_endproc. */ 33extern void cfi_finish (void); 34 35/* Entry points for backends to add unwind information. */ 36extern void cfi_new_fde (struct symbol *); 37extern void cfi_end_fde (struct symbol *); 38extern void cfi_set_return_column (unsigned); 39extern void cfi_add_advance_loc (struct symbol *); 40 41extern void cfi_add_CFA_offset (unsigned, offsetT); 42extern void cfi_add_CFA_def_cfa (unsigned, offsetT); 43extern void cfi_add_CFA_register (unsigned, unsigned); 44extern void cfi_add_CFA_def_cfa_register (unsigned); 45extern void cfi_add_CFA_def_cfa_offset (offsetT); 46extern void cfi_add_CFA_restore (unsigned); 47extern void cfi_add_CFA_undefined (unsigned); 48extern void cfi_add_CFA_same_value (unsigned); 49extern void cfi_add_CFA_remember_state (void); 50extern void cfi_add_CFA_restore_state (void); 51 52#endif /* DW2GENCFI_H */ 53