mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-25 17:00:36 -09:00
Merge remote-tracking branch 'origin/patch'
This commit is contained in:
@@ -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.
|
||||
@@ -240,7 +240,7 @@ class DmgServerProcessManager implements Closeable {
|
||||
String java =
|
||||
System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
|
||||
|
||||
// optional: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=18200
|
||||
// optional: -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=18200
|
||||
try {
|
||||
Process p = Runtime.getRuntime().exec(
|
||||
new String[] { java, "-classpath", classPath, "-Xmx" + dmgServerMemoryMB + "m", //need more memory to load and xfer data across pipe
|
||||
|
||||
@@ -9,3 +9,4 @@ data/languages/superh.ldefs||GHIDRA||||END|
|
||||
data/languages/superh.pspec||GHIDRA||||END|
|
||||
data/languages/superh.sinc||GHIDRA||||END|
|
||||
data/languages/superh2a.cspec||GHIDRA||||END|
|
||||
data/manuals/superh.idx||GHIDRA||||END|
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
version="1.0"
|
||||
slafile="sh-2a.sla"
|
||||
processorspec="superh.pspec"
|
||||
manualindexfile="../manuals/superh.idx"
|
||||
id="SuperH:BE:32:SH-2A">
|
||||
<description>SuperH SH-2A processor 32-bit big-endian</description>
|
||||
<compiler name="default" spec="superh2a.cspec" id="default"/>
|
||||
@@ -19,6 +20,7 @@
|
||||
version="1.0"
|
||||
slafile="sh-2.sla"
|
||||
processorspec="superh.pspec"
|
||||
manualindexfile="../manuals/superh.idx"
|
||||
id="SuperH:BE:32:SH-2">
|
||||
<description>SuperH SH-2 processor 32-bit big-endian</description>
|
||||
<compiler name="default" spec="superh.cspec" id="default"/>
|
||||
@@ -30,6 +32,7 @@
|
||||
version="1.0"
|
||||
slafile="sh-1.sla"
|
||||
processorspec="superh.pspec"
|
||||
manualindexfile="../manuals/superh.idx"
|
||||
id="SuperH:BE:32:SH-1">
|
||||
<description>SuperH SH-1 processor 32-bit big-endian</description>
|
||||
<compiler name="default" spec="superh.cspec" id="default"/>
|
||||
|
||||
95
Ghidra/Processors/SuperH/data/manuals/superh.idx
Normal file
95
Ghidra/Processors/SuperH/data/manuals/superh.idx
Normal file
@@ -0,0 +1,95 @@
|
||||
@ h12p0.pdf[SuperH RISC Engine SH-1/SH-2 Programming Manual September 3, 1996]
|
||||
add, 64
|
||||
addc, 65
|
||||
addv, 66
|
||||
and, 67
|
||||
and.b, 67
|
||||
bf, 69
|
||||
bf/s, 70
|
||||
bra, 72
|
||||
braf, 74
|
||||
bsr, 76
|
||||
bsrf, 78
|
||||
bt, 79
|
||||
bt/s, 80
|
||||
clrmac, 82
|
||||
clrt, 83
|
||||
cmp/eq, 84
|
||||
cmp/ge, 84
|
||||
cmp/gt, 84
|
||||
cmp/hi, 84
|
||||
cmp/hs, 84
|
||||
cmp/pl, 84
|
||||
cmp/pz, 84
|
||||
cmp/str, 84
|
||||
div0s, 88
|
||||
div0u, 89
|
||||
div1, 90
|
||||
dmuls.l, 95
|
||||
dmulu.l, 97
|
||||
dt, 99
|
||||
exts.b, 100
|
||||
exts.w, 100
|
||||
extu.b, 101
|
||||
extu.w, 101
|
||||
jmp, 102
|
||||
jsr, 103
|
||||
ldc, 105
|
||||
ldc.l, 105
|
||||
lds, 107
|
||||
lds.l, 107
|
||||
mac.l, 109
|
||||
mac, 112
|
||||
mac.w, 113
|
||||
mov, 116
|
||||
mov.b, 116
|
||||
mov.w, 116
|
||||
mov.l, 116
|
||||
mova, 129
|
||||
movt, 130
|
||||
mul.l, 131
|
||||
muls.w, 132
|
||||
mulu.w, 133
|
||||
neg, 134
|
||||
negc, 135
|
||||
nop, 136
|
||||
not, 137
|
||||
or, 138
|
||||
or.b, 138
|
||||
rotcl, 140
|
||||
rotcr, 141
|
||||
rotl, 142
|
||||
rotr, 143
|
||||
rte, 144
|
||||
rts, 145
|
||||
sett, 147
|
||||
shal, 148
|
||||
shar, 149
|
||||
shll, 150
|
||||
shll2, 151
|
||||
shll8, 151
|
||||
shll16, 151
|
||||
shlr, 153
|
||||
shlr2, 154
|
||||
shlr8, 154
|
||||
shlr16, 154
|
||||
sleep, 156
|
||||
stc, 157
|
||||
stc.l, 157
|
||||
sts, 159
|
||||
sts.l, 159
|
||||
sub, 161
|
||||
subc, 162
|
||||
subv, 163
|
||||
swap, 164
|
||||
swap.b, 164
|
||||
swap.w, 164
|
||||
tas, 165
|
||||
tas.b, 165
|
||||
trapa, 166
|
||||
tst, 167
|
||||
tst.b, 167
|
||||
xor, 169
|
||||
xor.b, 169
|
||||
xtrct, 171
|
||||
|
||||
@@ -17,6 +17,8 @@ package ghidra.server.remote;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.rmi.registry.LocateRegistry;
|
||||
import java.rmi.registry.Registry;
|
||||
import java.security.KeyStore.PrivateKeyEntry;
|
||||
@@ -27,6 +29,7 @@ import java.util.zip.ZipInputStream;
|
||||
|
||||
import javax.rmi.ssl.SslRMIClientSocketFactory;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang3.RandomStringUtils;
|
||||
|
||||
import db.buffers.DataBuffer;
|
||||
@@ -99,6 +102,7 @@ public class ServerTestUtil {
|
||||
private static IOThread cmdErr;
|
||||
private static Process serverProcess;
|
||||
private static String serverRepositories;
|
||||
private static Path argsFile;
|
||||
|
||||
static {
|
||||
Runtime.getRuntime().addShutdownHook(new ShutdownHook());
|
||||
@@ -435,19 +439,15 @@ public class ServerTestUtil {
|
||||
getTestPkiCACertsPath());
|
||||
DefaultSSLContextInitializer.initialize(true);
|
||||
|
||||
ArrayList<String> argList = new ArrayList<>();
|
||||
String javaCommand =
|
||||
System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
|
||||
argList.add(javaCommand);
|
||||
|
||||
List<String> argList = new ArrayList<>();
|
||||
argList.add("-cp");
|
||||
argList.add(System.getProperty("java.class.path"));
|
||||
argList.add("\"" + System.getProperty("java.class.path").replace("\\", "/") + "\"");
|
||||
|
||||
argList.add("-Xmx512M");
|
||||
|
||||
argList.add("-Xdebug");
|
||||
argList.add("-Xnoagent");
|
||||
argList.add("-Djava.compiler=NONE");
|
||||
argList.add("-Ddb.buffers.DataBuffer.compressedOutput=" + enableCompressionOnServerStart);
|
||||
argList.add("-D" + DefaultTrustManagerFactory.GHIDRA_CACERTS_PATH_PROPERTY + "=" +
|
||||
getTestPkiCACertsPath());
|
||||
@@ -483,25 +483,15 @@ public class ServerTestUtil {
|
||||
argList.add("-p" + port);
|
||||
argList.add(dirPath);
|
||||
|
||||
String[] args = new String[argList.size()];
|
||||
argList.toArray(args);
|
||||
|
||||
System.out.println();
|
||||
for (String arg : argList) {
|
||||
boolean includeQuotes = arg.indexOf(' ') != -1;
|
||||
if (includeQuotes) {
|
||||
System.out.print("'");
|
||||
}
|
||||
System.out.print(arg);
|
||||
if (includeQuotes) {
|
||||
System.out.print("'");
|
||||
}
|
||||
System.out.print(" ");
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
try {
|
||||
serverProcess = Runtime.getRuntime().exec(args);
|
||||
// Command line argument is too long on Windows, so use an @arg-file
|
||||
argsFile =
|
||||
Files.createTempFile(Application.getUserTempDirectory().toPath(), "args", ".txt");
|
||||
Files.write(argsFile, argList);
|
||||
System.out.println(javaCommand + " \"@" + argsFile + "\"");
|
||||
|
||||
serverProcess = new ProcessBuilder(javaCommand, "@" + argsFile).start();
|
||||
serverRepositories = dirPath;
|
||||
|
||||
cmdOut = new IOThread(serverProcess.getInputStream());
|
||||
@@ -658,8 +648,24 @@ public class ServerTestUtil {
|
||||
serverRepositories = null;
|
||||
|
||||
if (testPkiDirectory != null) {
|
||||
FileUtilities.deleteDir(testPkiDirectory);
|
||||
testPkiDirectory = null;
|
||||
try {
|
||||
FileUtils.deleteDirectory(testPkiDirectory);
|
||||
}
|
||||
catch (IOException e) {
|
||||
// Will likely be an error the next time the test starts
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally {
|
||||
testPkiDirectory = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (argsFile != null && Files.exists(argsFile)) {
|
||||
try {
|
||||
Files.delete(argsFile);
|
||||
}
|
||||
catch (IOException e) {
|
||||
// don't care
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user