Skip to content

Commit

Permalink
No Globals c-spec
Browse files Browse the repository at this point in the history
  • Loading branch information
EliasKotlyar committed May 13, 2024
1 parent fab890d commit 4f5a9c5
Show file tree
Hide file tree
Showing 2 changed files with 125 additions and 0 deletions.
1 change: 1 addition & 0 deletions ghidra-med9-language/ppc_32_med9_be.ldefs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
id="PowerPC:BE:32:MED9">
<description>MED9</description>
<compiler name="default" spec="ppc_32_med9_be.cspec" id="default"/>
<compiler name="no_globals" spec="ppc_32_med9_no_globals.cspec" id="no_globals"/>
<external_name tool="gnu" name="powerpc:common"/>
<external_name tool="IDA-PRO" name="ppc"/>
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
Expand Down
124 changes: 124 additions & 0 deletions ghidra-med9-language/ppc_32_med9_no_globals.cspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>

<compiler_spec>
<global>
<range space="ram"/>
<register name="r2"/>
<register name="r13"/>
</global>
<stackpointer register="r1" space="ram"/>
<default_proto>
<prototype name="__stdcall" extrapop="0" stackshift="0">
<input pointermax="8">
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f1"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f2"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f3"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f4"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f5"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f6"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f7"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f8"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f9"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f10"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f11"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f12"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f13"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r3"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r4"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r5"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r6"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r7"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r8"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r9"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r10"/>
</pentry>
<pentry minsize="1" maxsize="500" align="4">
<addr offset="8" space="stack"/>
</pentry>
</input>
<output>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f1"/>
</pentry>
<pentry minsize="1" maxsize="4" extension="inttype">
<register name="r3"/>
</pentry>
<pentry minsize="5" maxsize="8">
<addr space="join" piece1="r3" piece2="r4"/>
</pentry>
</output>
<unaffected>
<register name="r14"/>
<register name="r15"/>
<register name="r16"/>
<register name="r17"/>
<register name="r18"/>
<register name="r19"/>
<register name="r20"/>
<register name="r21"/>
<register name="r22"/>
<register name="r23"/>
<register name="r24"/>
<register name="r25"/>
<register name="r26"/>
<register name="r27"/>
<register name="r28"/>
<register name="r29"/>
<register name="r30"/>
<register name="r31"/>
<register name="r1"/>
<register name="cr4"/>
</unaffected>
</prototype>
</default_proto>

<callfixup name="get_pc_thunk_lr">
<pcode>
<body><![CDATA[
LR = inst_dest + 4;
]]></body>
</pcode>
</callfixup>

</compiler_spec>

0 comments on commit 4f5a9c5

Please sign in to comment.