1 2 /*--------------------------------------------------------------------*/ 3 /*--- Reading of syms & debug info from PDB-format files. ---*/ 4 /*--- priv_readpdb.h ---*/ 5 /*--------------------------------------------------------------------*/ 6 7 /* 8 This file is part of Valgrind, a dynamic binary instrumentation 9 framework. 10 Spring 2008: 11 derived from readelf.c and valgrind-20031012-wine/vg_symtab2.c 12 derived from wine-1.0/tools/winedump/pdb.c and msc.c 13 14 Copyright (C) 2000-2013 Julian Seward 15 jseward (at) acm.org 16 17 This program is free software; you can redistribute it and/or 18 modify it under the terms of the GNU General Public License as 19 published by the Free Software Foundation; either version 2 of the 20 License, or (at your option) any later version. 21 22 This program is distributed in the hope that it will be useful, but 23 WITHOUT ANY WARRANTY; without even the implied warranty of 24 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 25 General Public License for more details. 26 27 You should have received a copy of the GNU General Public License 28 along with this program; if not, write to the Free Software 29 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 30 02111-1307, USA. 31 32 The GNU General Public License is contained in the file COPYING. 33 */ 34 35 #if defined(VGO_linux) || defined(VGO_darwin) 36 37 #ifndef __PRIV_READPDB_H 38 #define __PRIV_READPDB_H 39 40 #include "pub_core_basics.h" // Addr 41 #include "pub_core_debuginfo.h" // DebugInfo 42 43 /* Returns True if OK, False for any kind of failure. */ 44 extern Bool ML_(read_pdb_debug_info)( 45 DebugInfo* di, 46 Addr obj_avma, 47 PtrdiffT obj_bias, 48 void* pdbimage, 49 SizeT n_pdbimage, 50 HChar* pdbname, 51 ULong pdbmtime 52 ); 53 54 /* Finds the name of the PDB file that's embedded with the specified 55 PE file, or NULL on failure. Caller deallocates with 56 ML_(dinfo_free). */ 57 HChar* ML_(find_name_of_pdb_file)( HChar* pename ); 58 59 60 #endif /* ndef __PRIV_READPDB_H */ 61 62 #endif // defined(VGO_linux) || defined(VGO_darwin) 63 64 /*--------------------------------------------------------------------*/ 65 /*--- end ---*/ 66 /*--------------------------------------------------------------------*/ 67