mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-28 17:11:11 -09:00
GP-1967: Fix auto-disassembly for object-based traces, incl. framework support.
This commit is contained in:
@@ -14,6 +14,7 @@ data/languages/toy.cspec||GHIDRA||||END|
|
||||
data/languages/toy.ldefs||GHIDRA||||END|
|
||||
data/languages/toy.pspec||GHIDRA||reviewed||END|
|
||||
data/languages/toy.sinc||GHIDRA||||END|
|
||||
data/languages/toy64-long8.cspec||GHIDRA||||END|
|
||||
data/languages/toy64.cspec||GHIDRA||||END|
|
||||
data/languages/toy64_be.slaspec||GHIDRA||||END|
|
||||
data/languages/toy64_be_harvard.slaspec||GHIDRA||||END|
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
id="Toy:BE:64:default">
|
||||
<description>Toy (test) processor 64-bit big-endian</description>
|
||||
<compiler name="default" spec="toy64.cspec" id="default"/>
|
||||
<compiler name="long8" spec="toy64-long8.cspec" id="long8"/>
|
||||
</language>
|
||||
<language processor="Toy"
|
||||
endian="big"
|
||||
|
||||
90
Ghidra/Processors/Toy/data/languages/toy64-long8.cspec
Normal file
90
Ghidra/Processors/Toy/data/languages/toy64-long8.cspec
Normal file
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<compiler_spec>
|
||||
<data_organization>
|
||||
<absolute_max_alignment value="0" />
|
||||
<machine_alignment value="2" />
|
||||
<default_alignment value="1" />
|
||||
<default_pointer_alignment value="8" />
|
||||
<pointer_size value="8" />
|
||||
<wchar_size value="2" />
|
||||
<short_size value="2" />
|
||||
<integer_size value="4" />
|
||||
<long_size value="8" />
|
||||
<long_long_size value="8" />
|
||||
<float_size value="4" />
|
||||
<double_size value="8" />
|
||||
<long_double_size value="8" />
|
||||
<size_alignment_map>
|
||||
<entry size="1" alignment="1" />
|
||||
<entry size="2" alignment="2" />
|
||||
<entry size="4" alignment="4" />
|
||||
<entry size="8" alignment="8" />
|
||||
</size_alignment_map>
|
||||
</data_organization>
|
||||
<global>
|
||||
<range space="ram"/>
|
||||
</global>
|
||||
<stackpointer register="sp" space="ram"/>
|
||||
<default_proto>
|
||||
<prototype name="__stdcall" extrapop="unknown" stackshift="4">
|
||||
<input pointermax="16">
|
||||
<pentry minsize="1" maxsize="8">
|
||||
<register name="r12"/>
|
||||
</pentry>
|
||||
<pentry minsize="1" maxsize="8">
|
||||
<register name="r11"/>
|
||||
</pentry>
|
||||
<pentry minsize="1" maxsize="8">
|
||||
<register name="r10"/>
|
||||
</pentry>
|
||||
<pentry minsize="1" maxsize="8">
|
||||
<register name="r9"/>
|
||||
</pentry>
|
||||
<pentry minsize="1" maxsize="8">
|
||||
<register name="r8"/>
|
||||
</pentry>
|
||||
<pentry minsize="1" maxsize="500" align="4">
|
||||
<addr offset="0" space="stack"/>
|
||||
</pentry>
|
||||
</input>
|
||||
<output>
|
||||
<pentry minsize="1" maxsize="8">
|
||||
<register name="r12"/>
|
||||
</pentry>
|
||||
</output>
|
||||
<unaffected>
|
||||
<varnode space="ram" offset="0" size="8"/>
|
||||
<register name="sp"/>
|
||||
<register name="lr"/>
|
||||
<register name="r0"/>
|
||||
<register name="r1"/>
|
||||
<register name="r2"/>
|
||||
<register name="r3"/>
|
||||
<register name="r4"/>
|
||||
<register name="r5"/>
|
||||
<register name="r6"/>
|
||||
<register name="r7"/>
|
||||
</unaffected>
|
||||
</prototype>
|
||||
</default_proto>
|
||||
|
||||
<prototype name="__stackcall" extrapop="unknown" stackshift="4">
|
||||
<input pointermax="16">
|
||||
<pentry minsize="1" maxsize="500" align="4">
|
||||
<addr offset="0" space="stack"/>
|
||||
</pentry>
|
||||
</input>
|
||||
<output>
|
||||
<pentry minsize="1" maxsize="8">
|
||||
<register name="r12"/>
|
||||
</pentry>
|
||||
</output>
|
||||
<unaffected>
|
||||
<varnode space="ram" offset="0" size="8"/>
|
||||
<register name="sp"/>
|
||||
<register name="lr"/>
|
||||
</unaffected>
|
||||
</prototype>
|
||||
|
||||
</compiler_spec>
|
||||
Reference in New Issue
Block a user