Merge fix
This commit is contained in:
@@ -185,8 +185,7 @@ void Emulator::Load()
|
|||||||
ConLog.Write("max addr = 0x%x", l.GetMaxAddr());
|
ConLog.Write("max addr = 0x%x", l.GetMaxAddr());
|
||||||
thread.SetOffset(Memory.MainMem.GetStartAddr());
|
thread.SetOffset(Memory.MainMem.GetStartAddr());
|
||||||
Memory.MainMem.Alloc(Memory.MainMem.GetStartAddr() + l.GetMaxAddr(), 0xFFFFED - l.GetMaxAddr());
|
Memory.MainMem.Alloc(Memory.MainMem.GetStartAddr() + l.GetMaxAddr(), 0xFFFFED - l.GetMaxAddr());
|
||||||
//thread.SetEntry(l.GetEntry() - Memory.MainMem.GetStartAddr());
|
thread.SetEntry(l.GetEntry() - Memory.MainMem.GetStartAddr());
|
||||||
thread.SetEntry(l.GetTextEntry());
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MACHINE_PPC64:
|
case MACHINE_PPC64:
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ bool ELFLoader::LoadInfo()
|
|||||||
|
|
||||||
entry = loader->GetEntry();
|
entry = loader->GetEntry();
|
||||||
machine = loader->GetMachine();
|
machine = loader->GetMachine();
|
||||||
_text_section_offset = loader->GetTextEntry();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,8 +135,6 @@ bool ELF32Loader::LoadShdrInfo()
|
|||||||
name += c;
|
name += c;
|
||||||
}
|
}
|
||||||
shdr_name_arr.Add(name);
|
shdr_name_arr.Add(name);
|
||||||
if(name == ".text") //temporary solution for SPU ELF loading
|
|
||||||
_text_section_offset = shdr_arr[i].sh_offset;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -186,8 +186,6 @@ bool ELF64Loader::LoadShdrInfo(s64 offset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
shdr_name_arr.Add(name);
|
shdr_name_arr.Add(name);
|
||||||
if(name == ".text")
|
|
||||||
_text_section_offset = shdr_arr[i].sh_offset;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -147,7 +147,6 @@ bool Loader::Analyze()
|
|||||||
|
|
||||||
machine = m_loader->GetMachine();
|
machine = m_loader->GetMachine();
|
||||||
entry = m_loader->GetMachine() == MACHINE_SPU ? m_loader->GetEntry() + g_spu_offset : m_loader->GetEntry();
|
entry = m_loader->GetMachine() == MACHINE_SPU ? m_loader->GetEntry() + g_spu_offset : m_loader->GetEntry();
|
||||||
_text_section_offset = m_loader->GetTextEntry();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -181,14 +181,12 @@ protected:
|
|||||||
u32 min_addr;
|
u32 min_addr;
|
||||||
u32 max_addr;
|
u32 max_addr;
|
||||||
Elf_Machine machine;
|
Elf_Machine machine;
|
||||||
u32 _text_section_offset;
|
|
||||||
|
|
||||||
LoaderBase()
|
LoaderBase()
|
||||||
: machine(MACHINE_Unknown)
|
: machine(MACHINE_Unknown)
|
||||||
, entry(0)
|
, entry(0)
|
||||||
, min_addr(0)
|
, min_addr(0)
|
||||||
, max_addr(0)
|
, max_addr(0)
|
||||||
, _text_section_offset(0)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,7 +196,6 @@ public:
|
|||||||
Elf_Machine GetMachine() { return machine; }
|
Elf_Machine GetMachine() { return machine; }
|
||||||
|
|
||||||
u32 GetEntry() { return entry; }
|
u32 GetEntry() { return entry; }
|
||||||
u32 GetTextEntry() { return _text_section_offset; }
|
|
||||||
u32 GetMinAddr() { return min_addr; }
|
u32 GetMinAddr() { return min_addr; }
|
||||||
u32 GetMaxAddr() { return min_addr; }
|
u32 GetMaxAddr() { return min_addr; }
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user