2 Aesalon, a tool to visualize a program's behaviour at run-time.
3 Copyright (C) 2010, Aesalon Development Team.
5 Aesalon is distributed under the terms of the GNU GPLv3. For more
6 licensing information, see the file LICENSE included with the distribution.
8 @file include/monitor/analyzer/ElfAnalyzer.h
12 #ifndef AesalonMonitor_Analyzer_ElfAnalyzer_H
13 #define AesalonMonitor_Analyzer_ElfAnalyzer_H
17 #include "ExecutableAnalyzer.h"
19 #define ELF32_TYPES Elf32_Ehdr, Elf32_Shdr, Elf32_Sym
20 #define ELF64_TYPES Elf64_Ehdr, Elf64_Shdr, Elf64_Sym
25 class ElfAnalyzer
: public ExecutableAnalyzer
{
28 Config::Vault
*m_vault
;
42 ElfAnalyzer(std::string filename
);
43 virtual ~ElfAnalyzer();
45 virtual Config::Vault
*analyzerVault() { return m_vault
; }
49 template<typename ELFHeader
, typename SectionHeader
, typename SymbolHeader
>
52 template<typename SymbolHeader
>
53 void parseSymbols(SymbolHeader
*symbols
, int symbolCount
, const char *stringTable
);
56 } // namespace Analyzer
57 } // namespace Monitor