diff options
| author | bunnei <bunneidev@gmail.com> | 2014-05-08 17:16:35 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2014-05-08 17:16:35 -0400 |
| commit | bdc54d0d4897841a4d24aee80311bfb1f0eba884 (patch) | |
| tree | 558d87c83fe8f7e8e3e57644407c872244ee5a3a /src/core/arm/disassembler/load_symbol_map.cpp | |
| parent | d4bf68b6503129fc32639c2fdbe98df8d5855d66 (diff) | |
| parent | b39cd3a64c69792ffd720ffa6e0f5fe35740a087 (diff) | |
Merge pull request #15 from bunnei/hle-services
Various fixes/improvements to HLE of 3DS services, mostly cleans up GSP call decoding
Diffstat (limited to 'src/core/arm/disassembler/load_symbol_map.cpp')
| -rw-r--r-- | src/core/arm/disassembler/load_symbol_map.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
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 000000000..d7fc0a042 --- /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 <string> +#include <vector> + +#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); + } +} |
