diff --git a/GPL/nativeBuildProperties.gradle b/GPL/nativeBuildProperties.gradle
index 96e6f96f51..829a264603 100644
--- a/GPL/nativeBuildProperties.gradle
+++ b/GPL/nativeBuildProperties.gradle
@@ -18,7 +18,7 @@ apply plugin: 'c'
// Unclear if we can rely on the VisualCpp plugin to identify the correct Visual Studio paths
project.ext.VISUAL_STUDIO_BASE_DIR = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017"
-project.ext.WINDOWS_KITS_DIR = "C:/Program Files (x86)/Windows Kits/10"
+project.ext.WINDOWS_KITS_DIR = "C:\\Program Files (x86)\\Windows Kits\\10"
/****************************************************************************
* Method for extracting value from = pairs
@@ -44,11 +44,6 @@ project.ext.VISUAL_STUDIO_VCVARS_CMD = "UNKNOWN"
project.ext.MSVC_SDK_VERSION = "UNKNOWN"
project.ext.MSVC_TOOLS_VERSION = "UNKNOWN"
-// Ok, this is stupid, but mac and linux can't handle files paths that start with c:
-// These paths are actually only used when running on windows, but the paths gets evaulated
-// as a file no matter what platform you run gradle on. So the best solution I can think of is as
-// follows.
-/*
if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
project.ext.VISUAL_STUDIO_INSTALL_DIR = project.ext.VISUAL_STUDIO_BASE_DIR + "\\Professional"
@@ -108,13 +103,16 @@ model {
* Task: verify presence of correct tool chain version for current platform
******************************************************************************************/
task CheckToolChain {
+ // Native C/Cpp plugins will trigger failure if no tool chain found
doFirst {
if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
// ensure that required MS Visual Studio is installed where expected
- String msg = "Microsoft Visual Studio install not found: ${project.ext.VISUAL_STUDIO_BASE_DIR}\n" +
+ String msg = "Microsoft Visual Studio install not found: ${VISUAL_STUDIO_BASE_DIR}\n" +
"Adjust path in Ghidra/GPL/nativeBuildProperties.gradle if needed."
- assert file(project.ext.VISUAL_STUDIO_BASE_DIR).exists() : msg
- assert file(project.ext.VISUAL_STUDIO_INSTALL_DIR).exists() : msg
+ if (!file(VISUAL_STUDIO_BASE_DIR).exists() ||
+ !file(VISUAL_STUDIO_INSTALL_DIR).exists()) {
+ throw new GradleException(msg);
+ }
}
}
}
diff --git a/Ghidra/Configurations/Public_Release/src/global/docs/ChangeHistory.html b/Ghidra/Configurations/Public_Release/src/global/docs/ChangeHistory.html
index ecf6828498..74247d281c 100644
--- a/Ghidra/Configurations/Public_Release/src/global/docs/ChangeHistory.html
+++ b/Ghidra/Configurations/Public_Release/src/global/docs/ChangeHistory.html
@@ -22,10 +22,11 @@
-- Decompiler. Improved modeling of CFG on Windows 10 (Thanks, Markus Pieton). (Issue #340)
+- Decompiler. Improved modeling of CFG on Windows 10. (Issue #340)
- Patcher. Renamed patch directory to /Ghidra/patch and added README.txt that explains how the patch directory is used.
- Search. Fixed NullPointerException in Decompiler Data Type Reference Finder. (Issue #407)
- Search. Updated the Decompiler Data Type Finder to find references to inside of nested array access in a line of Decompiler C output. (Issue #416)
+- Sleigh. Improved error reporting for SLEIGH compiler. (Issue #364)
@@ -47,8 +48,6 @@
-`
-
Ghidra 9.0.2 Change History (April 2019)
diff --git a/Ghidra/RuntimeScripts/Common/support/launch.properties b/Ghidra/RuntimeScripts/Common/support/launch.properties
index eb7f7a0396..3050566149 100644
--- a/Ghidra/RuntimeScripts/Common/support/launch.properties
+++ b/Ghidra/RuntimeScripts/Common/support/launch.properties
@@ -21,7 +21,8 @@ VMARGS=-Duser.variant=
VMARGS=-Dsun.java2d.pmoffscreen=false
VMARGS=-Dsun.java2d.opengl=false
-# Resolves issue with Ubuntu when running within VM
+# Setting to false resolves issue with Ubuntu when running within VM.
+# Setting to true resolves display issues on HiDPI monitors in Linux.
VMARGS=-Dsun.java2d.xrender=false
# Set acceptable HTTPS protocols
diff --git a/GhidraDocs/InstallationGuide.html b/GhidraDocs/InstallationGuide.html
index 5a2e2fb9dc..244e550a08 100644
--- a/GhidraDocs/InstallationGuide.html
+++ b/GhidraDocs/InstallationGuide.html
@@ -18,7 +18,7 @@
Ghidra Installation Guide
-The installation information provided is effective as of Ghidra 9.0.1 and is subject to change with
+The installation information provided is effective as of Ghidra 9.0.3 and is subject to change with
future releases.
@@ -83,7 +83,17 @@ Ghidra team if you have a specific need.
- Java 11 Runtime and Development Kit (JDK) (see Java Notes)
- - OpenJDK distributed from jdk.java.net is suggested
+ - Free long term support (LTS) versions of JDK 11 are provided by:
+
(Back to Top)
@@ -128,14 +138,10 @@ destination using any unzip program (built-in OS utilities, 7-Zip, WinZip, WinRA
the parent directory of Java's bin directory). This minimizes the impact Ghidra has on
pre-existing configurations of Java that other software may rely on.
-
- Ghidra is developed and tested against OpenJDK distributed from jdk.java.net. Consider
- using this OpenJDK distribution for the most stable experience.
-
If Ghidra failed to run because no versions of Java were on the PATH, a
supported JDK should be manually installed and added to the
- PATH. The following steps outline how to add an OpenJDK distribution to the operating system's
+ PATH. The following steps outline how to add a JDK distribution to the operating system's
PATH.
-
@@ -545,13 +551,13 @@ be installed in a pre-existing Eclipse installation.
Linux
-
- Some users have reported Ghidra GUI rendering issues on 4k displays and multi-monitor thin
- client setups. These problems are attributed to reported bugs in Java. Upgrading to a newer
- version of Java may fix the issue.
-
+ Ghidra may not display correctly on Linux systems with HiDPI monitors. Setting
+ VMARGS=-Dsun.java2d.xrender=false to true in
+ <GhidraInstallDir>/support/launch.properties has been known to improve this issue.
-
- At the time of writing, installing the openjdk-11 package in Ubuntu 18.04 results in openjdk-10
- being installed which is incompatible with Ghidra.
+ Some users have reported Ghidra GUI rendering issues on multi-monitor thin client setups.
+ These problems are attributed to reported bugs in Java, which will hopefully be fixed in the
+ future. Disabling the 2nd or 3rd monitor may be necessary to work around the issue.
macOS (OS X)