From 872cd724cb206f7dee8dc34d90ba68e4f2a3f468 Mon Sep 17 00:00:00 2001 From: caheckman <48068198+caheckman@users.noreply.github.com> Date: Thu, 18 Mar 2021 15:20:19 -0400 Subject: [PATCH] Split out BE and LE cspec for MIPS --- .../src/decompile/cpp/funcdata_varnode.cc | 4 +- Ghidra/Processors/MIPS/certification.manifest | 3 +- .../Processors/MIPS/data/languages/mips.ldefs | 14 +-- .../{mips32.cspec => mips32be.cspec} | 0 .../MIPS/data/languages/mips32le.cspec | 90 +++++++++++++++++++ 5 files changed, 101 insertions(+), 10 deletions(-) rename Ghidra/Processors/MIPS/data/languages/{mips32.cspec => mips32be.cspec} (100%) create mode 100644 Ghidra/Processors/MIPS/data/languages/mips32le.cspec diff --git a/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc b/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc index 00258dcb96..4956f44da0 100644 --- a/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc +++ b/Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/Ghidra/Processors/MIPS/certification.manifest b/Ghidra/Processors/MIPS/certification.manifest index 182ff5a607..1152c9daf4 100644 --- a/Ghidra/Processors/MIPS/certification.manifest +++ b/Ghidra/Processors/MIPS/certification.manifest @@ -5,14 +5,15 @@ data/languages/mips.dwarf||GHIDRA||||END| data/languages/mips.ldefs||GHIDRA||||END| data/languages/mips.sinc||GHIDRA||||END| data/languages/mips16.sinc||GHIDRA||||END| -data/languages/mips32.cspec||GHIDRA||||END| data/languages/mips32.pspec||GHIDRA||||END| data/languages/mips32Instructions.sinc||GHIDRA||||END| data/languages/mips32R6.pspec||GHIDRA||||END| data/languages/mips32R6be.slaspec||GHIDRA||||END| data/languages/mips32R6le.slaspec||GHIDRA||||END| data/languages/mips32_fp64.cspec||GHIDRA||||END| +data/languages/mips32be.cspec||GHIDRA||||END| data/languages/mips32be.slaspec||GHIDRA||||END| +data/languages/mips32le.cspec||GHIDRA||||END| data/languages/mips32le.slaspec||GHIDRA||||END| data/languages/mips32micro.pspec||GHIDRA||||END| data/languages/mips64.cspec||GHIDRA||||END| diff --git a/Ghidra/Processors/MIPS/data/languages/mips.ldefs b/Ghidra/Processors/MIPS/data/languages/mips.ldefs index abedb93a34..e7281050ad 100644 --- a/Ghidra/Processors/MIPS/data/languages/mips.ldefs +++ b/Ghidra/Processors/MIPS/data/languages/mips.ldefs @@ -10,8 +10,8 @@ manualindexfile="../manuals/mipsM16.idx" id="MIPS:BE:32:default"> MIPS32 32-bit addresses, big endian, with mips16e - - + + @@ -26,8 +26,8 @@ manualindexfile="../manuals/mipsM16.idx" id="MIPS:LE:32:default"> MIPS32 32-bit addresses, little endian, with mips16e - - + + @@ -284,7 +284,7 @@ manualindexfile="../manuals/mipsMic.idx" id="MIPS:BE:32:micro"> MIPS32 32-bit addresses, big endian, with microMIPS - + @@ -299,8 +299,8 @@ manualindexfile="../manuals/mipsMic.idx" id="MIPS:LE:32:micro"> MIPS32 32-bit addresses, little endian, with microMIPS - - + + diff --git a/Ghidra/Processors/MIPS/data/languages/mips32.cspec b/Ghidra/Processors/MIPS/data/languages/mips32be.cspec similarity index 100% rename from Ghidra/Processors/MIPS/data/languages/mips32.cspec rename to Ghidra/Processors/MIPS/data/languages/mips32be.cspec diff --git a/Ghidra/Processors/MIPS/data/languages/mips32le.cspec b/Ghidra/Processors/MIPS/data/languages/mips32le.cspec new file mode 100644 index 0000000000..628b8b4756 --- /dev/null +++ b/Ghidra/Processors/MIPS/data/languages/mips32le.cspec @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +