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)