aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/Loaders
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-04-22 01:21:49 -0300
committergdkchan <gab.dark.100@gmail.com>2018-04-22 01:22:46 -0300
commitbd9b1e2c6b912c7cdab55ec6acc063c88a59cff1 (patch)
tree077ab8da47828f9fd23893eeefa54c7d8fb2a314 /Ryujinx.Core/Loaders
parent4906acdde96c09b4e12a3801a4bacd5233a2f8e6 (diff)
Stub a few services, add support for generating call stacks on the CPU
Diffstat (limited to 'Ryujinx.Core/Loaders')
-rw-r--r--Ryujinx.Core/Loaders/Executable.cs8
-rw-r--r--Ryujinx.Core/Loaders/Executables/IExecutable.cs2
-rw-r--r--Ryujinx.Core/Loaders/Executables/Nro.cs6
-rw-r--r--Ryujinx.Core/Loaders/Executables/Nso.cs6
4 files changed, 18 insertions, 4 deletions
diff --git a/Ryujinx.Core/Loaders/Executable.cs b/Ryujinx.Core/Loaders/Executable.cs
index 943b8e51..39ee9618 100644
--- a/Ryujinx.Core/Loaders/Executable.cs
+++ b/Ryujinx.Core/Loaders/Executable.cs
@@ -7,14 +7,16 @@ namespace Ryujinx.Core.Loaders
{
class Executable
{
- private AMemory Memory;
-
private List<ElfDyn> Dynamic;
private Dictionary<long, string> m_SymbolTable;
public IReadOnlyDictionary<long, string> SymbolTable => m_SymbolTable;
+ public string Name { get; private set; }
+
+ private AMemory Memory;
+
public long ImageBase { get; private set; }
public long ImageEnd { get; private set; }
@@ -24,6 +26,8 @@ namespace Ryujinx.Core.Loaders
m_SymbolTable = new Dictionary<long, string>();
+ Name = Exe.Name;
+
this.Memory = Memory;
this.ImageBase = ImageBase;
this.ImageEnd = ImageBase;
diff --git a/Ryujinx.Core/Loaders/Executables/IExecutable.cs b/Ryujinx.Core/Loaders/Executables/IExecutable.cs
index 09d0aab2..412058d8 100644
--- a/Ryujinx.Core/Loaders/Executables/IExecutable.cs
+++ b/Ryujinx.Core/Loaders/Executables/IExecutable.cs
@@ -2,6 +2,8 @@ namespace Ryujinx.Core.Loaders.Executables
{
public interface IExecutable
{
+ string Name { get; }
+
byte[] Text { get; }
byte[] RO { get; }
byte[] Data { get; }
diff --git a/Ryujinx.Core/Loaders/Executables/Nro.cs b/Ryujinx.Core/Loaders/Executables/Nro.cs
index 9f4ef59f..c3411d22 100644
--- a/Ryujinx.Core/Loaders/Executables/Nro.cs
+++ b/Ryujinx.Core/Loaders/Executables/Nro.cs
@@ -4,6 +4,8 @@ namespace Ryujinx.Core.Loaders.Executables
{
class Nro : IExecutable
{
+ public string Name { get; private set; }
+
public byte[] Text { get; private set; }
public byte[] RO { get; private set; }
public byte[] Data { get; private set; }
@@ -14,8 +16,10 @@ namespace Ryujinx.Core.Loaders.Executables
public int DataOffset { get; private set; }
public int BssSize { get; private set; }
- public Nro(Stream Input)
+ public Nro(Stream Input, string Name)
{
+ this.Name = Name;
+
BinaryReader Reader = new BinaryReader(Input);
Input.Seek(4, SeekOrigin.Begin);
diff --git a/Ryujinx.Core/Loaders/Executables/Nso.cs b/Ryujinx.Core/Loaders/Executables/Nso.cs
index 7341ba62..bfe159d7 100644
--- a/Ryujinx.Core/Loaders/Executables/Nso.cs
+++ b/Ryujinx.Core/Loaders/Executables/Nso.cs
@@ -6,6 +6,8 @@ namespace Ryujinx.Core.Loaders.Executables
{
class Nso : IExecutable
{
+ public string Name { get; private set; }
+
public byte[] Text { get; private set; }
public byte[] RO { get; private set; }
public byte[] Data { get; private set; }
@@ -27,8 +29,10 @@ namespace Ryujinx.Core.Loaders.Executables
HasDataHash = 1 << 5
}
- public Nso(Stream Input)
+ public Nso(Stream Input, string Name)
{
+ this.Name = Name;
+
BinaryReader Reader = new BinaryReader(Input);
Input.Seek(0, SeekOrigin.Begin);