1f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 2f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/*--------------------------------------------------------------------*/ 3f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/*--- Reading of syms & debug info from Mach-O files. ---*/ 4f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/*--- priv_readmacho.h ---*/ 5f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/*--------------------------------------------------------------------*/ 6f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 7f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/* 8f76d27a697a7b0bf3b84490baf60623fc96a23afnjn This file is part of Valgrind, a dynamic binary instrumentation 9f76d27a697a7b0bf3b84490baf60623fc96a23afnjn framework. 10f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 11f76d27a697a7b0bf3b84490baf60623fc96a23afnjn Copyright (C) 2006 Apple Inc. 12f76d27a697a7b0bf3b84490baf60623fc96a23afnjn Greg Parker gparker@apple.com 13f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 14f76d27a697a7b0bf3b84490baf60623fc96a23afnjn This program is free software; you can redistribute it and/or 15f76d27a697a7b0bf3b84490baf60623fc96a23afnjn modify it under the terms of the GNU General Public License as 16f76d27a697a7b0bf3b84490baf60623fc96a23afnjn published by the Free Software Foundation; either version 2 of the 17f76d27a697a7b0bf3b84490baf60623fc96a23afnjn License, or (at your option) any later version. 18f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 19f76d27a697a7b0bf3b84490baf60623fc96a23afnjn This program is distributed in the hope that it will be useful, but 20f76d27a697a7b0bf3b84490baf60623fc96a23afnjn WITHOUT ANY WARRANTY; without even the implied warranty of 21f76d27a697a7b0bf3b84490baf60623fc96a23afnjn MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22f76d27a697a7b0bf3b84490baf60623fc96a23afnjn General Public License for more details. 23f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 24f76d27a697a7b0bf3b84490baf60623fc96a23afnjn You should have received a copy of the GNU General Public License 25f76d27a697a7b0bf3b84490baf60623fc96a23afnjn along with this program; if not, write to the Free Software 26f76d27a697a7b0bf3b84490baf60623fc96a23afnjn Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 27f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 02111-1307, USA. 28f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 29f76d27a697a7b0bf3b84490baf60623fc96a23afnjn The GNU General Public License is contained in the file COPYING. 30f76d27a697a7b0bf3b84490baf60623fc96a23afnjn*/ 31f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 32f76d27a697a7b0bf3b84490baf60623fc96a23afnjn#ifndef __PRIV_READMACHO_H 33f76d27a697a7b0bf3b84490baf60623fc96a23afnjn#define __PRIV_READMACHO_H 34f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 35535fb1b49a80f2e880f755ee618381de3e222ddfflorian#include "pub_core_basics.h" // SizeT 36535fb1b49a80f2e880f755ee618381de3e222ddfflorian#include "pub_core_debuginfo.h" // DebugInfo 37535fb1b49a80f2e880f755ee618381de3e222ddfflorian 38f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/* Identify a Mach-O object file by peering at the first few bytes of 39f76d27a697a7b0bf3b84490baf60623fc96a23afnjn it. */ 40f76d27a697a7b0bf3b84490baf60623fc96a23afnjnextern Bool ML_(is_macho_object_file)( const void* buf, SizeT size ); 41f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 42f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/* The central function for reading Mach-O debug info. For the 43f76d27a697a7b0bf3b84490baf60623fc96a23afnjn object/exe specified by the DebugInfo, find Mach-O sections, then read 44f76d27a697a7b0bf3b84490baf60623fc96a23afnjn the symbols, line number info, file name info, CFA (stack-unwind 45f76d27a697a7b0bf3b84490baf60623fc96a23afnjn info) and anything else we want, into the tables within the 46f76d27a697a7b0bf3b84490baf60623fc96a23afnjn supplied DebugInfo. 47f76d27a697a7b0bf3b84490baf60623fc96a23afnjn*/ 48535fb1b49a80f2e880f755ee618381de3e222ddfflorianextern Bool ML_(read_macho_debug_info) ( DebugInfo* si ); 49f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 50f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 51f76d27a697a7b0bf3b84490baf60623fc96a23afnjn#endif /* ndef __PRIV_READMACHO_H */ 52f76d27a697a7b0bf3b84490baf60623fc96a23afnjn 53f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/*--------------------------------------------------------------------*/ 54f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/*--- end ---*/ 55f76d27a697a7b0bf3b84490baf60623fc96a23afnjn/*--------------------------------------------------------------------*/ 56