mirror of https://github.com/yuzu-mirror/yuzu
Remove unused symbols code
parent
6577bbc3c5
commit
cb4da3975e
@ -1,46 +0,0 @@
|
|||||||
// Copyright 2014 Citra Emulator Project
|
|
||||||
// Licensed under GPLv2 or any later version
|
|
||||||
// Refer to the license.txt file included.
|
|
||||||
|
|
||||||
#include "common/symbols.h"
|
|
||||||
|
|
||||||
TSymbolsMap g_symbols;
|
|
||||||
|
|
||||||
namespace Symbols {
|
|
||||||
bool HasSymbol(u32 address) {
|
|
||||||
return g_symbols.find(address) != g_symbols.end();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Add(u32 address, const std::string& name, u32 size, u32 type) {
|
|
||||||
if (!HasSymbol(address)) {
|
|
||||||
TSymbol symbol;
|
|
||||||
symbol.address = address;
|
|
||||||
symbol.name = name;
|
|
||||||
symbol.size = size;
|
|
||||||
symbol.type = type;
|
|
||||||
|
|
||||||
g_symbols.emplace(address, symbol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TSymbol GetSymbol(u32 address) {
|
|
||||||
const auto iter = g_symbols.find(address);
|
|
||||||
|
|
||||||
if (iter != g_symbols.end())
|
|
||||||
return iter->second;
|
|
||||||
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
const std::string GetName(u32 address) {
|
|
||||||
return GetSymbol(address).name;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Remove(u32 address) {
|
|
||||||
g_symbols.erase(address);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Clear() {
|
|
||||||
g_symbols.clear();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
// Copyright 2014 Citra Emulator Project
|
|
||||||
// Licensed under GPLv2 or any later version
|
|
||||||
// Refer to the license.txt file included.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <map>
|
|
||||||
#include <string>
|
|
||||||
#include <utility>
|
|
||||||
#include "common/common_types.h"
|
|
||||||
|
|
||||||
struct TSymbol {
|
|
||||||
u32 address = 0;
|
|
||||||
std::string name;
|
|
||||||
u32 size = 0;
|
|
||||||
u32 type = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef std::map<u32, TSymbol> TSymbolsMap;
|
|
||||||
typedef std::pair<u32, TSymbol> TSymbolsPair;
|
|
||||||
|
|
||||||
namespace Symbols {
|
|
||||||
bool HasSymbol(u32 address);
|
|
||||||
|
|
||||||
void Add(u32 address, const std::string& name, u32 size, u32 type);
|
|
||||||
TSymbol GetSymbol(u32 address);
|
|
||||||
const std::string GetName(u32 address);
|
|
||||||
void Remove(u32 address);
|
|
||||||
void Clear();
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
// Copyright 2014 Citra Emulator Project
|
|
||||||
// Licensed under GPLv2 or any later version
|
|
||||||
// Refer to the license.txt file included.
|
|
||||||
|
|
||||||
#include <sstream>
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
#include "common/file_util.h"
|
|
||||||
#include "common/symbols.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;
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
// Copyright 2014 Citra Emulator Project
|
|
||||||
// Licensed under GPLv2 or any later version
|
|
||||||
// Refer to the license.txt file included.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Loads a symbol map file for use with the disassembler
|
|
||||||
* @param filename String filename path of symbol map file
|
|
||||||
*/
|
|
||||||
void LoadSymbolMap(std::string filename);
|
|
Loading…
Reference in New Issue