diff --git a/Ghidra/Features/Base/ghidra_scripts/DemangleSymbolScript.java b/Ghidra/Features/Base/ghidra_scripts/DemangleSymbolScript.java index 83ab481a6b..3335021bb4 100644 --- a/Ghidra/Features/Base/ghidra_scripts/DemangleSymbolScript.java +++ b/Ghidra/Features/Base/ghidra_scripts/DemangleSymbolScript.java @@ -104,7 +104,12 @@ public class DemangleSymbolScript extends GhidraScript { println("Successfully demangled\n" + name + '\n' + cmd.getResult()); } else { - println("Failed to demangle\n" + name + '\n' + cmd.getStatusMsg()); + String statusMsg = cmd.getStatusMsg(); + String msg = "Failed to demangle\n" + name; + if (statusMsg != null) { + msg += "\n" + statusMsg; + } + println(msg); } } } diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/cmd/function/DecompilerParallelConventionAnalysisCmd.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/cmd/function/DecompilerParallelConventionAnalysisCmd.java index 23e5687dcc..b1d2ab2c2c 100644 --- a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/cmd/function/DecompilerParallelConventionAnalysisCmd.java +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/cmd/function/DecompilerParallelConventionAnalysisCmd.java @@ -59,7 +59,12 @@ public class DecompilerParallelConventionAnalysisCmd extends BackgroundCommand
0) {
+ return false;
+ }
+ }
if (mangled.startsWith("_Z")) {
return false;
}
diff --git a/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java b/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java
index 396620b7e9..959396fad5 100644
--- a/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java
+++ b/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java
@@ -18,6 +18,7 @@ package ghidra.app.util.demangler.gnu;
import java.io.*;
import java.nio.charset.Charset;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
@@ -25,6 +26,7 @@ import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import ghidra.framework.*;
+import ghidra.util.Msg;
/**
* A class that allows for the reuse of native demangler executable processes. This class will
@@ -37,6 +39,16 @@ public class GnuDemanglerNativeProcess {
private static final String DEFAULT_NATIVE_OPTIONS = "";
private static final Map