1 2 /*--------------------------------------------------------------------*/ 3 /*--- Read DWARF1/2/3 debug info. priv_readdwarf.h ---*/ 4 /*--------------------------------------------------------------------*/ 5 6 /* 7 This file is part of Valgrind, a dynamic binary instrumentation 8 framework. 9 10 Copyright (C) 2000-2017 Julian Seward 11 jseward@acm.org 12 13 This program is free software; you can redistribute it and/or 14 modify it under the terms of the GNU General Public License as 15 published by the Free Software Foundation; either version 2 of the 16 License, or (at your option) any later version. 17 18 This program is distributed in the hope that it will be useful, but 19 WITHOUT ANY WARRANTY; without even the implied warranty of 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 General Public License for more details. 22 23 You should have received a copy of the GNU General Public License 24 along with this program; if not, write to the Free Software 25 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 26 02111-1307, USA. 27 28 The GNU General Public License is contained in the file COPYING. 29 */ 30 31 #ifndef __PRIV_READDWARF_H 32 #define __PRIV_READDWARF_H 33 34 #include "pub_core_debuginfo.h" // DebugInfo 35 #include "priv_image.h" // DiSlice 36 37 /* 38 Stabs reader greatly improved by Nick Nethercote, Apr 02. 39 This module was also extensively hacked on by Jeremy Fitzhardinge 40 and Tom Hughes. 41 */ 42 43 44 /* -------------------- 45 DWARF3 reader 46 -------------------- */ 47 extern 48 void ML_(read_debuginfo_dwarf3) 49 ( DebugInfo* di, 50 DiSlice escn_debug_info, /* .debug_info */ 51 DiSlice escn_debug_types, /* .debug_types */ 52 DiSlice escn_debug_abbv, /* .debug_abbrev */ 53 DiSlice escn_debug_line, /* .debug_line */ 54 DiSlice escn_debug_str, /* .debug_str */ 55 DiSlice escn_debug_str_alt ); /* .debug_str */ 56 57 /* -------------------- 58 DWARF1 reader 59 -------------------- */ 60 extern 61 void ML_(read_debuginfo_dwarf1) ( DebugInfo* di, 62 UChar* dwarf1d, Int dwarf1d_sz, 63 UChar* dwarf1l, Int dwarf1l_sz ); 64 65 /* -------------------- 66 CFI reader 67 -------------------- */ 68 extern 69 void ML_(read_callframe_info_dwarf3) 70 ( /*OUT*/ DebugInfo* di, 71 DiSlice escn_frame, Addr frame_avma, Bool is_ehframe ); 72 73 74 #endif /* ndef __PRIV_READDWARF_H */ 75 76 /*--------------------------------------------------------------------*/ 77 /*--- end ---*/ 78 /*--------------------------------------------------------------------*/ 79