mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-10 14:11:59 +00:00
GP-3838: Add qemu+gdb launcher.
This commit is contained in:
parent
63e64d5b28
commit
289c5c90fa
78
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-gdb.sh
Executable file
78
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-gdb.sh
Executable file
@ -0,0 +1,78 @@
|
||||
#!/usr/bin/bash
|
||||
## ###
|
||||
# IP: GHIDRA
|
||||
#
|
||||
# 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.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
##
|
||||
#@title qemu + gdb
|
||||
#@desc <html><body width="300px">
|
||||
#@desc <h3>Launch with <tt>qemu</tt> and connect with <tt>gdb</tt></h3>
|
||||
#@desc <p>This will launch the target on the local machine using <tt>qemu</tt>. Then in a second
|
||||
#@desc terminal, it will connect <tt>gdb</tt> to QEMU's GDBstub.
|
||||
#@desc GDB must already be installed on your system, it must support your target architecture
|
||||
#@desc (you may install <tt>gdb-multiarch</tt>), and it must embed the Python 3 interpreter. You
|
||||
#@desc will also need <tt>protobuf</tt> installed for Python 3.
|
||||
#@desc </body></html>
|
||||
#@menu-group qemu
|
||||
#@icon icon.debugger
|
||||
#@help TraceRmiLauncherServicePlugin#gdb
|
||||
#@enum StartCmd:str run start starti
|
||||
#@arg :str "Image" "The target binary executable image"
|
||||
#@args "Arguments" "Command-line arguments to pass to the target"
|
||||
#@env GHIDRA_LANG_EXTTOOL_qemu:str="" "Path to qemu" "The path to qemu for the target architecture."
|
||||
#@env QEMU_GDB:int=12345 "QEMU Port" "Port for gdb connection to qemu"
|
||||
#@env OPT_EXTRA_QEMU_ARGS:str="" "Extra qemu arguments" "Extra arguments to pass to qemu. Use with care."
|
||||
#@env OPT_GDB_PATH:str="gdb-multiarch" "Path to gdb" "The path to gdb. Omit the full path to resolve using the system PATH."
|
||||
#@env OPT_EXTRA_TTY:bool=false "QEMU TTY" "Provide a separate terminal emulator for the target."
|
||||
#@tty TTY_TARGET if env:OPT_EXTRA_TTY
|
||||
|
||||
if [ -d ${GHIDRA_HOME}/ghidra/.git ]
|
||||
then
|
||||
export PYTHONPATH=$GHIDRA_HOME/ghidra/Ghidra/Debug/Debugger-agent-gdb/build/pypkg/src:$PYTHONPATH
|
||||
export PYTHONPATH=$GHIDRA_HOME/ghidra/Ghidra/Debug/Debugger-rmi-trace/build/pypkg/src:$PYTHONPATH
|
||||
elif [ -d ${GHIDRA_HOME}/.git ]
|
||||
then
|
||||
export PYTHONPATH=$GHIDRA_HOME/Ghidra/Debug/Debugger-agent-gdb/build/pypkg/src:$PYTHONPATH
|
||||
export PYTHONPATH=$GHIDRA_HOME/Ghidra/Debug/Debugger-rmi-trace/build/pypkg/src:$PYTHONPATH
|
||||
else
|
||||
export PYTHONPATH=$GHIDRA_HOME/Ghidra/Debug/Debugger-agent-gdb/pypkg/src:$PYTHONPATH
|
||||
export PYTHONPATH=$GHIDRA_HOME/Ghidra/Debug/Debugger-rmi-trace/pypkg/src:$PYTHONPATH
|
||||
fi
|
||||
|
||||
target_image="$1"
|
||||
|
||||
if [ -z "$TTY_TARGET" ]
|
||||
then
|
||||
"$GHIDRA_LANG_EXTTOOL_qemu" $@ &
|
||||
else
|
||||
"$GHIDRA_LANG_EXTTOOL_qemu" $@ <$TTY_TARGET >$TTY_TARGET 2>&1 &
|
||||
fi
|
||||
|
||||
# Give QEMU a moment to open the socket
|
||||
sleep 0.1
|
||||
|
||||
"$OPT_GDB_PATH" \
|
||||
-q \
|
||||
-ex "set pagination off" \
|
||||
-ex "set confirm off" \
|
||||
-ex "show version" \
|
||||
-ex "python import ghidragdb" \
|
||||
-ex "file \"$target_image\"" \
|
||||
-ex "set args $target_args" \
|
||||
-ex "set inferior-tty $TTY_TARGET" \
|
||||
-ex "ghidra trace connect \"$GHIDRA_TRACE_RMI_ADDR\"" \
|
||||
-ex "ghidra trace start" \
|
||||
-ex "ghidra trace sync-enable" \
|
||||
-ex "target remote localhost:$QEMU_GDB" \
|
||||
-ex "set confirm on" \
|
||||
-ex "set pagination on"
|
@ -513,6 +513,7 @@ def install_hooks():
|
||||
gdb.events.exited.connect(on_exited) # Inferior exited
|
||||
|
||||
gdb.events.clear_objfiles.connect(on_clear_objfiles)
|
||||
if hasattr(gdb.events, 'free_objfile'):
|
||||
gdb.events.free_objfile.connect(on_free_objfile)
|
||||
gdb.events.new_objfile.connect(on_new_objfile)
|
||||
|
||||
@ -547,6 +548,7 @@ def remove_hooks():
|
||||
gdb.events.exited.disconnect(on_exited) # Inferior exited
|
||||
|
||||
gdb.events.clear_objfiles.disconnect(on_clear_objfiles)
|
||||
if hasattr(gdb.events, 'free_objfile'):
|
||||
gdb.events.free_objfile.disconnect(on_free_objfile)
|
||||
gdb.events.new_objfile.disconnect(on_new_objfile)
|
||||
|
||||
|
@ -102,6 +102,7 @@ public abstract class AbstractScriptTraceRmiLaunchOffer extends AbstractTraceRmi
|
||||
List<String> commandLine = new ArrayList<>();
|
||||
Map<String, String> env = new HashMap<>(System.getenv());
|
||||
prepareSubprocess(commandLine, env, args, address);
|
||||
env.put("GHIDRA_LANGUAGE_ID", program.getLanguageID().toString());
|
||||
|
||||
for (Map.Entry<String, TtyCondition> ent : attrs.extraTtys().entrySet()) {
|
||||
if (!ent.getValue().isActive(args)) {
|
||||
|
@ -64,6 +64,8 @@ public abstract class AbstractTraceRmiLaunchOffer implements TraceRmiLaunchOffer
|
||||
|
||||
public static final String PREFIX_DBGLAUNCH = "DBGLAUNCH_";
|
||||
public static final String PARAM_DISPLAY_IMAGE = "Image";
|
||||
public static final String PREFIX_PARAM_EXTTOOL = "env:GHIDRA_LANG_EXTTOOL_";
|
||||
|
||||
public static final int DEFAULT_TIMEOUT_MILLIS = 10000;
|
||||
|
||||
protected record PtyTerminalSession(Terminal terminal, Pty pty, PtySession session,
|
||||
@ -273,6 +275,15 @@ public abstract class AbstractTraceRmiLaunchOffer implements TraceRmiLaunchOffer
|
||||
}
|
||||
paramImage = (ParameterDescription<String>) param;
|
||||
}
|
||||
else if (param.name.startsWith(PREFIX_PARAM_EXTTOOL)) {
|
||||
String tool = param.name.substring(PREFIX_PARAM_EXTTOOL.length());
|
||||
List<String> names =
|
||||
program.getLanguage().getLanguageDescription().getExternalNames(tool);
|
||||
if (names != null && !names.isEmpty()) {
|
||||
var paramStr = (ParameterDescription<String>) param;
|
||||
paramStr.set(map, names.get(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (paramImage != null) {
|
||||
File imageFile = TraceRmiLauncherServicePlugin.getProgramPath(program);
|
||||
|
@ -31,6 +31,16 @@ import ghidra.trace.model.modules.TraceModule;
|
||||
public class DefaultModuleMapProposal
|
||||
extends AbstractMapProposal<TraceModule, Program, ModuleMapEntry>
|
||||
implements ModuleMapProposal {
|
||||
protected static final int BLOCK_BITS = 12;
|
||||
protected static final int BLOCK_SIZE = 1 << BLOCK_BITS;
|
||||
protected static final long BLOCK_MASK = -1L << BLOCK_BITS;
|
||||
|
||||
protected static AddressRange quantize(AddressRange range) {
|
||||
AddressSpace space = range.getAddressSpace();
|
||||
Address min = space.getAddress(range.getMinAddress().getOffset() & BLOCK_MASK);
|
||||
Address max = space.getAddress(range.getMaxAddress().getOffset() | ~BLOCK_MASK);
|
||||
return new AddressRangeImpl(min, max);
|
||||
}
|
||||
|
||||
/**
|
||||
* A module-program entry in a proposed module map
|
||||
@ -129,8 +139,8 @@ public class DefaultModuleMapProposal
|
||||
public void setProgram(Program program) {
|
||||
setToObject(program, program);
|
||||
try {
|
||||
this.moduleRange =
|
||||
new AddressRangeImpl(getModule().getBase(), computeImageSize(program));
|
||||
this.moduleRange = quantize(
|
||||
new AddressRangeImpl(getModule().getBase(), computeImageSize(program)));
|
||||
}
|
||||
catch (AddressOverflowException e) {
|
||||
// This is terribly unlikely
|
||||
@ -203,7 +213,7 @@ public class DefaultModuleMapProposal
|
||||
private void processModule() {
|
||||
moduleBase = module.getBase();
|
||||
try {
|
||||
moduleRange = new AddressRangeImpl(moduleBase, imageSize);
|
||||
moduleRange = quantize(new AddressRangeImpl(moduleBase, imageSize));
|
||||
}
|
||||
catch (AddressOverflowException e) {
|
||||
return; // Just score it as having no matches?
|
||||
|
@ -17,6 +17,7 @@
|
||||
<external_name tool="IDA-PRO" name="68040"/>
|
||||
<external_name tool="IDA-PRO" name="68K"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="68000.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-m68k"/>
|
||||
</language>
|
||||
<language processor="68000"
|
||||
endian="big"
|
||||
@ -32,6 +33,7 @@
|
||||
<external_name tool="gnu" name="m68k:68030"/>
|
||||
<external_name tool="IDA-PRO" name="68030"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="68000.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-m68k"/>
|
||||
</language>
|
||||
<language processor="68000"
|
||||
endian="big"
|
||||
@ -49,6 +51,7 @@
|
||||
<external_name tool="IDA-PRO" name="68020"/>
|
||||
<external_name tool="IDA-PRO" name="68020EX"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="68000.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-m68k"/>
|
||||
</language>
|
||||
<language processor="68000"
|
||||
endian="big"
|
||||
@ -64,5 +67,6 @@
|
||||
<compiler name="register" spec="68000_register.cspec" id="register"/>
|
||||
<external_name tool="IDA-PRO" name="colfire"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="68000.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-m68k"/>
|
||||
</language>
|
||||
</language_definitions>
|
||||
|
@ -14,6 +14,7 @@
|
||||
<compiler name="Visual Studio" spec="AARCH64_win.cspec" id="windows"/>
|
||||
<external_name tool="gnu" name="aarch64"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="AARCH64.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-aarch64"/>
|
||||
</language>
|
||||
<language processor="AARCH64"
|
||||
endian="big"
|
||||
@ -29,6 +30,7 @@
|
||||
<compiler name="default" spec="AARCH64.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="aarch64"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="AARCH64.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-aarch64_be"/>
|
||||
</language>
|
||||
<language processor="AARCH64"
|
||||
endian="little"
|
||||
@ -44,6 +46,7 @@
|
||||
<compiler name="default" spec="AARCH64_ilp32.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="aarch64:ilp32"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="AARCH64.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-aarch64"/>
|
||||
</language>
|
||||
<language processor="AARCH64"
|
||||
endian="big"
|
||||
@ -60,5 +63,6 @@
|
||||
<compiler name="default" spec="AARCH64_ilp32.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="aarch64:ilp32"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="AARCH64.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-aarch64_be"/>
|
||||
</language>
|
||||
</language_definitions>
|
||||
|
@ -23,6 +23,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -42,6 +43,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -81,6 +83,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -98,6 +101,7 @@
|
||||
<external_name tool="gnu" name="arm_any"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -117,6 +121,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -151,6 +156,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -171,6 +177,7 @@
|
||||
<external_name tool="gnu" name="armv6s-m"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -190,6 +197,7 @@
|
||||
<external_name tool="gnu" name="armv6s-m"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -210,6 +218,7 @@
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<!-- change DWARF register mapping to ARMneon.dwarf if VFPv2 is enabled -->
|
||||
<!-- <external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/> -->
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -230,6 +239,7 @@
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<!-- change DWARF register mapping to ARMneon.dwarf if VFPv2 is enabled -->
|
||||
<!-- <external_name tool="DWARF.register.mapping.file" name="ARMneon.dwarf"/> -->
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -248,6 +258,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -266,6 +277,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -282,6 +294,7 @@
|
||||
<external_name tool="gnu" name="armv5"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -298,6 +311,7 @@
|
||||
<external_name tool="gnu" name="armv5"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -315,6 +329,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -332,6 +347,7 @@
|
||||
<external_name tool="gdis.disassembler.options.file" name="ARM.gdis"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -352,6 +368,7 @@
|
||||
<external_name tool="gnu" name="armv3m"/>
|
||||
<external_name tool="IDA-PRO" name="arm"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-arm"/>
|
||||
</language>
|
||||
|
||||
<language processor="ARM"
|
||||
@ -372,6 +389,7 @@
|
||||
<external_name tool="gnu" name="armv3m"/>
|
||||
<external_name tool="IDA-PRO" name="armb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ARM.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-armeb"/>
|
||||
</language>
|
||||
|
||||
</language_definitions>
|
||||
|
@ -41,6 +41,7 @@
|
||||
<description>Loongson 3 64-bit with 32-bit FP</description>
|
||||
<compiler name="default" spec="lp64f.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="Loongarch64"/>
|
||||
<external_name tool="qemu" name="qemu-mips64el"/>
|
||||
</language>
|
||||
|
||||
<language processor="Loongarch"
|
||||
@ -55,6 +56,7 @@
|
||||
<description>Loongson 3 64-bit with 64-bit FP</description>
|
||||
<compiler name="default" spec="lp64d.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="Loongarch64"/>
|
||||
<external_name tool="qemu" name="qemu-mips64el"/>
|
||||
</language>
|
||||
|
||||
</language_definitions>
|
@ -17,6 +17,7 @@
|
||||
<external_name tool="gnu" name="mips:4000"/>
|
||||
<external_name tool="IDA-PRO" name="mipsb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mips"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="little"
|
||||
@ -35,6 +36,7 @@
|
||||
<external_name tool="gnu" name="mips:4000"/>
|
||||
<external_name tool="IDA-PRO" name="mipsl"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mipsel"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="big"
|
||||
@ -49,6 +51,7 @@
|
||||
<compiler name="default" spec="mips32_fp64.cspec" id="default"/>
|
||||
<external_name tool="IDA-PRO" name="mipsb"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mips"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="little"
|
||||
@ -63,6 +66,7 @@
|
||||
<compiler name="default" spec="mips32_fp64.cspec" id="default"/>
|
||||
<external_name tool="IDA-PRO" name="mipsl"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mipsel"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="big"
|
||||
@ -79,6 +83,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsb"/>
|
||||
<external_name tool="IDA-PRO" name="r5900r"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mips64"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="little"
|
||||
@ -96,6 +101,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsl"/>
|
||||
<external_name tool="IDA-PRO" name="r5900l"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mips64el"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="big"
|
||||
@ -142,6 +148,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsb"/>
|
||||
<external_name tool="IDA-PRO" name="r5900r"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mips64"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="little"
|
||||
@ -158,6 +165,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsl"/>
|
||||
<external_name tool="IDA-PRO" name="r5900l"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mips64el"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="big"
|
||||
@ -178,6 +186,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsb"/>
|
||||
<external_name tool="IDA-PRO" name="r5900r"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mipsn32"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="little"
|
||||
@ -199,6 +208,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsl"/>
|
||||
<external_name tool="IDA-PRO" name="r5900l"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mipsn32el"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="little"
|
||||
@ -257,6 +267,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsb"/>
|
||||
<external_name tool="IDA-PRO" name="r5900r"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mipsn32"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="little"
|
||||
@ -277,6 +288,7 @@
|
||||
<external_name tool="IDA-PRO" name="mipsl"/>
|
||||
<external_name tool="IDA-PRO" name="r5900l"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="mips.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-mipsn32el"/>
|
||||
</language>
|
||||
<language processor="MIPS"
|
||||
endian="big"
|
||||
|
@ -16,6 +16,7 @@
|
||||
<external_name tool="gnu" name="powerpc:common"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -48,6 +49,7 @@
|
||||
<external_name tool="gnu" name="powerpc:common64"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc64"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="big"
|
||||
@ -64,6 +66,7 @@
|
||||
<external_name tool="gnu" name="powerpc:common64"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc64abi32"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -96,6 +99,7 @@
|
||||
<external_name tool="gnu" name="powerpc:common64"/>
|
||||
<external_name tool="IDA-PRO" name="ppcl"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc64le"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="big"
|
||||
@ -111,6 +115,7 @@
|
||||
<external_name tool="gnu" name="powerpc:403"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -142,6 +147,7 @@
|
||||
<external_name tool="gnu" name="powerpc:MPC8XX"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="big"
|
||||
@ -157,6 +163,7 @@
|
||||
<external_name tool="gnu" name="powerpc:MPC8XX"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -189,6 +196,7 @@
|
||||
<external_name tool="gnu" name="powerpc:e500"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -220,6 +228,7 @@
|
||||
<external_name tool="gnu" name="powerpc:e500mc"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -251,6 +260,7 @@
|
||||
<external_name tool="gnu" name="powerpc:e500mc64"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc64abi32"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -284,6 +294,7 @@
|
||||
<external_name tool="gnu" name="powerpc:e500mc64"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc64abi32"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -316,6 +327,7 @@
|
||||
<external_name tool="gnu" name="powerpc:e500mc"/>
|
||||
<external_name tool="IDA-PRO" name="ppc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc64"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="little"
|
||||
@ -331,6 +343,7 @@
|
||||
<external_name tool="gnu" name="powerpc:e500mc"/>
|
||||
<external_name tool="IDA-PRO" name="ppcl"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-ppc64le"/>
|
||||
</language>
|
||||
<language processor="PowerPC"
|
||||
endian="big"
|
||||
|
@ -14,6 +14,7 @@
|
||||
<compiler name="gcc" spec="riscv64.cspec" id="gcc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv64.dwarf"/>
|
||||
<external_name tool="gnu" name="riscv:rv64"/>
|
||||
<external_name tool="qemu" name="qemu-riscv64"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -27,6 +28,7 @@
|
||||
<compiler name="gcc" spec="riscv64.cspec" id="gcc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv64.dwarf"/>
|
||||
<external_name tool="gnu" name="riscv:rv64"/>
|
||||
<external_name tool="qemu" name="qemu-riscv64"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -40,6 +42,7 @@
|
||||
<compiler name="gcc" spec="riscv64-fp.cspec" id="gcc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv64.dwarf"/>
|
||||
<external_name tool="gnu" name="riscv:rv64"/>
|
||||
<external_name tool="qemu" name="qemu-riscv64"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -53,6 +56,7 @@
|
||||
<compiler name="gcc" spec="riscv64-fp.cspec" id="gcc"/>
|
||||
<external_name tool="gnu" name="riscv:rv64"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv64.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-riscv64"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -66,6 +70,7 @@
|
||||
<compiler name="gcc" spec="riscv64-fp.cspec" id="gcc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv64.dwarf"/>
|
||||
<external_name tool="gnu" name="riscv:rv64"/>
|
||||
<external_name tool="qemu" name="qemu-riscv64"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -79,6 +84,7 @@
|
||||
<compiler name="gcc" spec="riscv32.cspec" id="gcc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv32.dwarf"/>
|
||||
<external_name tool="gnu" name="riscv:rv32"/>
|
||||
<external_name tool="qemu" name="qemu-riscv32"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -92,6 +98,7 @@
|
||||
<compiler name="gcc" spec="riscv32.cspec" id="gcc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv32.dwarf"/>
|
||||
<external_name tool="gnu" name="riscv:rv32"/>
|
||||
<external_name tool="qemu" name="qemu-riscv32"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -105,6 +112,7 @@
|
||||
<compiler name="gcc" spec="riscv32.cspec" id="gcc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv32.dwarf"/>
|
||||
<external_name tool="gnu" name="riscv:rv32"/>
|
||||
<external_name tool="qemu" name="qemu-riscv32"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -118,6 +126,7 @@
|
||||
<compiler name="gcc" spec="riscv32-fp.cspec" id="gcc"/>
|
||||
<external_name tool="gnu" name="riscv:rv32"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv32.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-riscv32"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -131,6 +140,7 @@
|
||||
<compiler name="gcc" spec="riscv32-fp.cspec" id="gcc"/>
|
||||
<external_name tool="gnu" name="riscv:rv32"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv32.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-riscv32"/>
|
||||
</language>
|
||||
<language processor="RISCV"
|
||||
endian="little"
|
||||
@ -144,6 +154,7 @@
|
||||
<compiler name="gcc" spec="riscv32-fp.cspec" id="gcc"/>
|
||||
<external_name tool="gnu" name="riscv:rv32"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="riscv32.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-riscv32"/>
|
||||
</language>
|
||||
|
||||
</language_definitions>
|
||||
|
@ -14,6 +14,7 @@
|
||||
<compiler name="default" spec="SparcV9_32.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="sparc:v9b"/>
|
||||
<external_name tool="IDA-PRO" name="sparcb" />
|
||||
<external_name tool="qemu" name="qemu-sparc"/>
|
||||
</language>
|
||||
<language processor="Sparc"
|
||||
endian="big"
|
||||
@ -28,5 +29,6 @@
|
||||
<compiler name="default" spec="SparcV9_64.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="sparc:v9b"/>
|
||||
<external_name tool="IDA-PRO" name="sparcb" />
|
||||
<external_name tool="qemu" name="qemu-sparc64"/>
|
||||
</language>
|
||||
</language_definitions>
|
||||
|
@ -14,6 +14,7 @@
|
||||
<compiler name="default" spec="SuperH4_be.cspec" id="default"/>
|
||||
<external_name tool="IDA-PRO" name="sh4b"/>
|
||||
<external_name tool="gnu" name="sh4"/>
|
||||
<external_name tool="qemu" name="qemu-sh4eb"/>
|
||||
</language>
|
||||
<language processor="SuperH4"
|
||||
endian="little"
|
||||
@ -29,5 +30,6 @@
|
||||
<compiler name="Visual Studio" spec="SuperH4_le.cspec" id="windows"/>
|
||||
<external_name tool="IDA-PRO" name="sh4"/>
|
||||
<external_name tool="gnu" name="sh4"/>
|
||||
<external_name tool="qemu" name="qemu-sh4"/>
|
||||
</language>
|
||||
</language_definitions>
|
||||
|
@ -14,6 +14,7 @@
|
||||
<compiler name="default" spec="xtensa.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="xtensa"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="xtensa.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-xtensa"/>
|
||||
</language>
|
||||
<language processor="Xtensa"
|
||||
endian="big"
|
||||
@ -28,5 +29,6 @@
|
||||
<compiler name="default" spec="xtensa.cspec" id="default"/>
|
||||
<external_name tool="gnu" name="xtensa"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="xtensa.dwarf"/>
|
||||
<external_name tool="qemu" name="qemu-xtensaeb"/>
|
||||
</language>
|
||||
</language_definitions>
|
||||
|
@ -30,6 +30,7 @@
|
||||
<external_name tool="IDA-PRO" name="metapc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="x86.dwarf"/>
|
||||
<external_name tool="Golang.register.info.file" name="x86-32-golang.register.info"/>
|
||||
<external_name tool="qemu" name="qemu-i386"/>
|
||||
</language>
|
||||
<language processor="x86"
|
||||
endian="little"
|
||||
@ -99,6 +100,7 @@
|
||||
<external_name tool="IDA-PRO" name="metapc"/>
|
||||
<external_name tool="DWARF.register.mapping.file" name="x86-64.dwarf"/>
|
||||
<external_name tool="Golang.register.info.file" name="x86-64-golang.register.info"/>
|
||||
<external_name tool="qemu" name="qemu-x86_64"/>
|
||||
</language>
|
||||
<language processor="x86"
|
||||
endian="little"
|
||||
|
Loading…
Reference in New Issue
Block a user