From 29da6e9ab57a37abafc9c91e00bb01daf451b3ad Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 30 Apr 2014 23:46:06 -0400 Subject: added a module to load symbol map files for debugging --- src/core/arm/disassembler/load_symbol_map.cpp | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/core/arm/disassembler/load_symbol_map.cpp (limited to 'src/core/arm/disassembler/load_symbol_map.cpp') diff --git a/src/core/arm/disassembler/load_symbol_map.cpp b/src/core/arm/disassembler/load_symbol_map.cpp new file mode 100644 index 00000000..d7fc0a04 --- /dev/null +++ b/src/core/arm/disassembler/load_symbol_map.cpp @@ -0,0 +1,33 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#include +#include + +#include "common/symbols.h" +#include "common/common_types.h" +#include "common/file_util.h" + +#include "core/arm/disassembler/load_symbol_map.h" + +/* + * Loads a symbol map file for use with the disassembler + * @param filename String filename path of symbol map file + */ +void LoadSymbolMap(std::string filename) { + std::ifstream infile(filename); + + std::string address_str, function_name, line; + u32 size, address; + + while (std::getline(infile, line)) { + std::istringstream iss(line); + if (!(iss >> address_str >> size >> function_name)) { + break; // Error parsing + } + u32 address = std::stoul(address_str, nullptr, 16); + + Symbols::Add(address, function_name, size, 2); + } +} -- cgit v1.2.3