mirror of
https://github.com/citra-emu/citra.git
synced 2024-12-18 04:40:07 +00:00
Remove ability to load symbol maps
This was now mostly unused except by thread creation, which used a symbol of the entrypoint, if available, to name the thread.
This commit is contained in:
parent
4af2a1a3d7
commit
6577bbc3c5
@ -38,7 +38,6 @@
|
||||
#include "common/scm_rev.h"
|
||||
#include "common/scope_exit.h"
|
||||
#include "common/string_util.h"
|
||||
#include "core/arm/disassembler/load_symbol_map.h"
|
||||
#include "core/core.h"
|
||||
#include "core/file_sys/archive_source_sd_savedata.h"
|
||||
#include "core/gdbstub/gdbstub.h"
|
||||
@ -253,8 +252,6 @@ void GMainWindow::ConnectWidgetEvents() {
|
||||
void GMainWindow::ConnectMenuEvents() {
|
||||
// File
|
||||
connect(ui.action_Load_File, &QAction::triggered, this, &GMainWindow::OnMenuLoadFile);
|
||||
connect(ui.action_Load_Symbol_Map, &QAction::triggered, this,
|
||||
&GMainWindow::OnMenuLoadSymbolMap);
|
||||
connect(ui.action_Select_Game_List_Root, &QAction::triggered, this,
|
||||
&GMainWindow::OnMenuSelectGameListRoot);
|
||||
connect(ui.action_Exit, &QAction::triggered, this, &QMainWindow::close);
|
||||
@ -506,16 +503,6 @@ void GMainWindow::OnMenuLoadFile() {
|
||||
}
|
||||
}
|
||||
|
||||
void GMainWindow::OnMenuLoadSymbolMap() {
|
||||
QString filename = QFileDialog::getOpenFileName(
|
||||
this, tr("Load Symbol Map"), UISettings::values.symbols_path, tr("Symbol Map (*.*)"));
|
||||
if (!filename.isEmpty()) {
|
||||
UISettings::values.symbols_path = QFileInfo(filename).path();
|
||||
|
||||
LoadSymbolMap(filename.toStdString());
|
||||
}
|
||||
}
|
||||
|
||||
void GMainWindow::OnMenuSelectGameListRoot() {
|
||||
QString dir_path = QFileDialog::getExistingDirectory(this, tr("Select Directory"));
|
||||
if (!dir_path.isEmpty()) {
|
||||
|
@ -116,7 +116,6 @@ private slots:
|
||||
void OnGameListLoadFile(QString game_path);
|
||||
void OnGameListOpenSaveFolder(u64 program_id);
|
||||
void OnMenuLoadFile();
|
||||
void OnMenuLoadSymbolMap();
|
||||
/// Called whenever a user selects the "File->Select Game List Root" menu item
|
||||
void OnMenuSelectGameListRoot();
|
||||
void OnMenuRecentFile();
|
||||
|
@ -58,7 +58,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
<addaction name="action_Load_File"/>
|
||||
<addaction name="action_Load_Symbol_Map"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_Select_Game_List_Root"/>
|
||||
<addaction name="menu_recent_files"/>
|
||||
|
@ -2,12 +2,12 @@
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include <cinttypes>
|
||||
#include <map>
|
||||
#include "common/logging/log.h"
|
||||
#include "common/microprofile.h"
|
||||
#include "common/scope_exit.h"
|
||||
#include "common/string_util.h"
|
||||
#include "common/symbols.h"
|
||||
#include "core/arm/arm_interface.h"
|
||||
#include "core/core_timing.h"
|
||||
#include "core/hle/function_wrappers.h"
|
||||
@ -524,13 +524,7 @@ static ResultCode CreateThread(Kernel::Handle* out_handle, s32 priority, u32 ent
|
||||
u32 stack_top, s32 processor_id) {
|
||||
using Kernel::Thread;
|
||||
|
||||
std::string name;
|
||||
if (Symbols::HasSymbol(entry_point)) {
|
||||
TSymbol symbol = Symbols::GetSymbol(entry_point);
|
||||
name = symbol.name;
|
||||
} else {
|
||||
name = Common::StringFromFormat("unknown-%08x", entry_point);
|
||||
}
|
||||
std::string name = Common::StringFromFormat("unknown-%08" PRIX32, entry_point);
|
||||
|
||||
if (priority > THREADPRIO_LOWEST) {
|
||||
return ResultCode(ErrorDescription::OutOfRange, ErrorModule::OS,
|
||||
|
@ -8,7 +8,6 @@
|
||||
#include "common/common_types.h"
|
||||
#include "common/file_util.h"
|
||||
#include "common/logging/log.h"
|
||||
#include "common/symbols.h"
|
||||
#include "core/hle/kernel/process.h"
|
||||
#include "core/hle/kernel/resource_limit.h"
|
||||
#include "core/loader/elf.h"
|
||||
@ -210,7 +209,6 @@ public:
|
||||
return (u32)(header->e_flags);
|
||||
}
|
||||
SharedPtr<CodeSet> LoadInto(u32 vaddr);
|
||||
bool LoadSymbols();
|
||||
|
||||
int GetNumSegments() const {
|
||||
return (int)(header->e_phnum);
|
||||
@ -258,8 +256,6 @@ ElfReader::ElfReader(void* ptr) {
|
||||
sections = (Elf32_Shdr*)(base + header->e_shoff);
|
||||
|
||||
entryPoint = header->e_entry;
|
||||
|
||||
LoadSymbols();
|
||||
}
|
||||
|
||||
const char* ElfReader::GetSectionName(int section) const {
|
||||
@ -362,34 +358,6 @@ SectionID ElfReader::GetSectionByName(const char* name, int firstSection) const
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool ElfReader::LoadSymbols() {
|
||||
bool hasSymbols = false;
|
||||
SectionID sec = GetSectionByName(".symtab");
|
||||
if (sec != -1) {
|
||||
int stringSection = sections[sec].sh_link;
|
||||
const char* stringBase = reinterpret_cast<const char*>(GetSectionDataPtr(stringSection));
|
||||
|
||||
// We have a symbol table!
|
||||
const Elf32_Sym* symtab = reinterpret_cast<const Elf32_Sym*>(GetSectionDataPtr(sec));
|
||||
unsigned int numSymbols = sections[sec].sh_size / sizeof(Elf32_Sym);
|
||||
for (unsigned sym = 0; sym < numSymbols; sym++) {
|
||||
int size = symtab[sym].st_size;
|
||||
if (size == 0)
|
||||
continue;
|
||||
|
||||
int type = symtab[sym].st_info & 0xF;
|
||||
|
||||
const char* name = stringBase + symtab[sym].st_name;
|
||||
|
||||
Symbols::Add(symtab[sym].st_value, name, size, type);
|
||||
|
||||
hasSymbols = true;
|
||||
}
|
||||
}
|
||||
|
||||
return hasSymbols;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Loader namespace
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user