Merge pull request #4672 from errael/HintAvoidUsingInvalidJavaPlatform

Avoid using an invalid JavaPlatform
diff --git a/cpplite/cpplite.debugger/src/org/netbeans/modules/cpplite/debugger/CPPLiteDebugger.java b/cpplite/cpplite.debugger/src/org/netbeans/modules/cpplite/debugger/CPPLiteDebugger.java
index 2f143c6..7435261 100644
--- a/cpplite/cpplite.debugger/src/org/netbeans/modules/cpplite/debugger/CPPLiteDebugger.java
+++ b/cpplite/cpplite.debugger/src/org/netbeans/modules/cpplite/debugger/CPPLiteDebugger.java
@@ -388,7 +388,7 @@
             return ;
         }
         breakpointsHandler.dispose();
-        if (sendExit) {
+        if (sendExit && proxy != null) {
             proxy.send(new Command("-gdb-exit"));
         }
         Utils.unmarkCurrent ();
diff --git a/ide/dlight.nativeexecution/external/binaries-list b/ide/dlight.nativeexecution/external/binaries-list
index f33e33e..e2eb41e 100644
--- a/ide/dlight.nativeexecution/external/binaries-list
+++ b/ide/dlight.nativeexecution/external/binaries-list
@@ -14,4 +14,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-89E5CF21801B51580FF00D6CC1209676EDE420FA exechlp-1.0.zip
+4B4DCA62F8C4A1954AE6D286955C36CC50B8CC3A exechlp-1.2.zip
diff --git a/ide/dlight.nativeexecution/external/exechlp-1.0-license.txt b/ide/dlight.nativeexecution/external/exechlp-1.2-license.txt
similarity index 99%
rename from ide/dlight.nativeexecution/external/exechlp-1.0-license.txt
rename to ide/dlight.nativeexecution/external/exechlp-1.2-license.txt
index b71517a..6235148 100644
--- a/ide/dlight.nativeexecution/external/exechlp-1.0-license.txt
+++ b/ide/dlight.nativeexecution/external/exechlp-1.2-license.txt
@@ -1,6 +1,6 @@
 Name: exechlp
 Description: binaries that used by dlight.nativeexecution module (process_start, pty, pty_open - used for dealing with pseude terminals; sigqueue, killall - sending signals to processes; stat - getting detailed file information; unbuffer.so - used when unbuffering is required)
-Version: 1.0
+Version: 1.2
 License: CDDL-1.0
 Origin: NetBeans
 Comment: needed for dlight.nativeexecution module to provide system-dependent services
diff --git a/ide/dlight.nativeexecution/nbproject/project.properties b/ide/dlight.nativeexecution/nbproject/project.properties
index 350e9d0..5562ead 100644
--- a/ide/dlight.nativeexecution/nbproject/project.properties
+++ b/ide/dlight.nativeexecution/nbproject/project.properties
@@ -40,72 +40,79 @@
     **/TerminalConfigurationProviderTest.class,\
     **/WindowsSupportTest.class
 
-release.external/exechlp-1.0.zip!/Linux-x86/process_start       = bin/nativeexecution/Linux-x86/process_start
-release.external/exechlp-1.0.zip!/Linux-x86/pty                 = bin/nativeexecution/Linux-x86/pty
-release.external/exechlp-1.0.zip!/Linux-x86/pty_open            = bin/nativeexecution/Linux-x86/pty_open
-release.external/exechlp-1.0.zip!/Linux-x86/sigqueue            = bin/nativeexecution/Linux-x86/sigqueue
-release.external/exechlp-1.0.zip!/Linux-x86/stat                = bin/nativeexecution/Linux-x86/stat
-release.external/exechlp-1.0.zip!/Linux-x86/unbuffer.so         = bin/nativeexecution/Linux-x86/unbuffer.so
-release.external/exechlp-1.0.zip!/Linux-x86/killall             = bin/nativeexecution/Linux-x86/killall
-release.external/exechlp-1.0.zip!/Linux-x86_64/process_start    = bin/nativeexecution/Linux-x86_64/process_start
-release.external/exechlp-1.0.zip!/Linux-x86_64/pty              = bin/nativeexecution/Linux-x86_64/pty
-release.external/exechlp-1.0.zip!/Linux-x86_64/pty_open         = bin/nativeexecution/Linux-x86_64/pty_open
-release.external/exechlp-1.0.zip!/Linux-x86_64/sigqueue         = bin/nativeexecution/Linux-x86_64/sigqueue
-release.external/exechlp-1.0.zip!/Linux-x86_64/stat             = bin/nativeexecution/Linux-x86_64/stat
-release.external/exechlp-1.0.zip!/Linux-x86_64/unbuffer.so      = bin/nativeexecution/Linux-x86_64/unbuffer.so
-release.external/exechlp-1.0.zip!/Linux-x86_64/killall          = bin/nativeexecution/Linux-x86_64/killall
-release.external/exechlp-1.0.zip!/Linux-sparc_64/process_start  = bin/nativeexecution/Linux-sparc_64/process_start
-release.external/exechlp-1.0.zip!/Linux-sparc_64/pty            = bin/nativeexecution/Linux-sparc_64/pty
-release.external/exechlp-1.0.zip!/Linux-sparc_64/pty_open       = bin/nativeexecution/Linux-sparc_64/pty_open
-release.external/exechlp-1.0.zip!/Linux-sparc_64/sigqueue       = bin/nativeexecution/Linux-sparc_64/sigqueue
-release.external/exechlp-1.0.zip!/Linux-sparc_64/stat           = bin/nativeexecution/Linux-sparc_64/stat
-release.external/exechlp-1.0.zip!/Linux-sparc_64/unbuffer.so    = bin/nativeexecution/Linux-sparc_64/unbuffer.so
-release.external/exechlp-1.0.zip!/Linux-sparc_64/killall        = bin/nativeexecution/Linux-sparc_64/killall
-release.external/exechlp-1.0.zip!/Windows-x86/process_start     = bin/nativeexecution/Windows-x86/process_start
-release.external/exechlp-1.0.zip!/Windows-x86/pty               = bin/nativeexecution/Windows-x86/pty
-release.external/exechlp-1.0.zip!/Windows-x86/pty_open          = bin/nativeexecution/Windows-x86/pty_open
-release.external/exechlp-1.0.zip!/Windows-x86/sigqueue          = bin/nativeexecution/Windows-x86/sigqueue
-release.external/exechlp-1.0.zip!/Windows-x86/unbuffer.dll      = bin/nativeexecution/Windows-x86/unbuffer.dll
-release.external/exechlp-1.0.zip!/Windows-x86/killall           = bin/nativeexecution/Windows-x86/killall
-release.external/exechlp-1.0.zip!/Windows-x86_64/process_start  = bin/nativeexecution/Windows-x86_64/process_start
-release.external/exechlp-1.0.zip!/Windows-x86_64/pty            = bin/nativeexecution/Windows-x86_64/pty
-release.external/exechlp-1.0.zip!/Windows-x86_64/pty_open       = bin/nativeexecution/Windows-x86_64/pty_open
-release.external/exechlp-1.0.zip!/Windows-x86_64/sigqueue       = bin/nativeexecution/Windows-x86_64/sigqueue
-release.external/exechlp-1.0.zip!/Windows-x86_64/killall        = bin/nativeexecution/Windows-x86_64/killall
-release.external/exechlp-1.0.zip!/Windows-x86_64/unbuffer.dll   = bin/nativeexecution/Windows-x86_64/unbuffer.dll
-release.external/exechlp-1.0.zip!/MacOSX-x86/process_start      = bin/nativeexecution/MacOSX-x86/process_start
-release.external/exechlp-1.0.zip!/MacOSX-x86/pty                = bin/nativeexecution/MacOSX-x86/pty
-release.external/exechlp-1.0.zip!/MacOSX-x86/pty_open           = bin/nativeexecution/MacOSX-x86/pty_open
-release.external/exechlp-1.0.zip!/MacOSX-x86/stat               = bin/nativeexecution/MacOSX-x86/stat
-release.external/exechlp-1.0.zip!/MacOSX-x86/unbuffer.dylib     = bin/nativeexecution/MacOSX-x86/unbuffer.dylib
-release.external/exechlp-1.0.zip!/MacOSX-x86/killall            = bin/nativeexecution/MacOSX-x86/killall
-release.external/exechlp-1.0.zip!/MacOSX-x86_64/process_start   = bin/nativeexecution/MacOSX-x86_64/process_start
-release.external/exechlp-1.0.zip!/MacOSX-x86_64/pty             = bin/nativeexecution/MacOSX-x86_64/pty
-release.external/exechlp-1.0.zip!/MacOSX-x86_64/pty_open        = bin/nativeexecution/MacOSX-x86_64/pty_open
-release.external/exechlp-1.0.zip!/MacOSX-x86_64/stat            = bin/nativeexecution/MacOSX-x86_64/stat
-release.external/exechlp-1.0.zip!/MacOSX-x86_64/unbuffer.dylib  = bin/nativeexecution/MacOSX-x86_64/unbuffer.dylib
-release.external/exechlp-1.0.zip!/MacOSX-x86_64/killall         = bin/nativeexecution/MacOSX-x86_64/killall
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/privp          = bin/nativeexecution/SunOS-sparc_64/privp
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/process_start  = bin/nativeexecution/SunOS-sparc_64/process_start
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/pty            = bin/nativeexecution/SunOS-sparc_64/pty
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/pty_open       = bin/nativeexecution/SunOS-sparc_64/pty_open
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/sigqueue       = bin/nativeexecution/SunOS-sparc_64/sigqueue
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/stat           = bin/nativeexecution/SunOS-sparc_64/stat
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/unbuffer.so    = bin/nativeexecution/SunOS-sparc_64/unbuffer.so
-release.external/exechlp-1.0.zip!/SunOS-sparc_64/killall        = bin/nativeexecution/SunOS-sparc_64/killall
-release.external/exechlp-1.0.zip!/SunOS-x86/privp               = bin/nativeexecution/SunOS-x86/privp
-release.external/exechlp-1.0.zip!/SunOS-x86/process_start       = bin/nativeexecution/SunOS-x86/process_start
-release.external/exechlp-1.0.zip!/SunOS-x86/pty                 = bin/nativeexecution/SunOS-x86/pty
-release.external/exechlp-1.0.zip!/SunOS-x86/pty_open            = bin/nativeexecution/SunOS-x86/pty_open
-release.external/exechlp-1.0.zip!/SunOS-x86/sigqueue            = bin/nativeexecution/SunOS-x86/sigqueue
-release.external/exechlp-1.0.zip!/SunOS-x86/stat                = bin/nativeexecution/SunOS-x86/stat
-release.external/exechlp-1.0.zip!/SunOS-x86/unbuffer.so         = bin/nativeexecution/SunOS-x86/unbuffer.so
-release.external/exechlp-1.0.zip!/SunOS-x86/killall             = bin/nativeexecution/SunOS-x86/killall
-release.external/exechlp-1.0.zip!/SunOS-x86_64/process_start    = bin/nativeexecution/SunOS-x86_64/process_start
-release.external/exechlp-1.0.zip!/SunOS-x86_64/pty              = bin/nativeexecution/SunOS-x86_64/pty
-release.external/exechlp-1.0.zip!/SunOS-x86_64/pty_open         = bin/nativeexecution/SunOS-x86_64/pty_open
-release.external/exechlp-1.0.zip!/SunOS-x86_64/sigqueue         = bin/nativeexecution/SunOS-x86_64/sigqueue
-release.external/exechlp-1.0.zip!/SunOS-x86_64/stat             = bin/nativeexecution/SunOS-x86_64/stat
-release.external/exechlp-1.0.zip!/SunOS-x86_64/unbuffer.so      = bin/nativeexecution/SunOS-x86_64/unbuffer.so
-release.external/exechlp-1.0.zip!/SunOS-x86_64/killall          = bin/nativeexecution/SunOS-x86_64/killall
+release.external/exechlp-1.2.zip!/Linux-aarch64/process_start   = bin/nativeexecution/Linux-aarch64/process_start
+release.external/exechlp-1.2.zip!/Linux-aarch64/pty             = bin/nativeexecution/Linux-aarch64/pty
+release.external/exechlp-1.2.zip!/Linux-aarch64/pty_open        = bin/nativeexecution/Linux-aarch64/pty_open
+release.external/exechlp-1.2.zip!/Linux-aarch64/sigqueue        = bin/nativeexecution/Linux-aarch64/sigqueue
+release.external/exechlp-1.2.zip!/Linux-aarch64/stat            = bin/nativeexecution/Linux-aarch64/stat
+release.external/exechlp-1.2.zip!/Linux-aarch64/unbuffer.so     = bin/nativeexecution/Linux-aarch64/unbuffer.so
+release.external/exechlp-1.2.zip!/Linux-aarch64/killall         = bin/nativeexecution/Linux-aarch64/killall
+release.external/exechlp-1.2.zip!/Linux-x86/process_start       = bin/nativeexecution/Linux-x86/process_start
+release.external/exechlp-1.2.zip!/Linux-x86/pty                 = bin/nativeexecution/Linux-x86/pty
+release.external/exechlp-1.2.zip!/Linux-x86/pty_open            = bin/nativeexecution/Linux-x86/pty_open
+release.external/exechlp-1.2.zip!/Linux-x86/sigqueue            = bin/nativeexecution/Linux-x86/sigqueue
+release.external/exechlp-1.2.zip!/Linux-x86/stat                = bin/nativeexecution/Linux-x86/stat
+release.external/exechlp-1.2.zip!/Linux-x86/unbuffer.so         = bin/nativeexecution/Linux-x86/unbuffer.so
+release.external/exechlp-1.2.zip!/Linux-x86/killall             = bin/nativeexecution/Linux-x86/killall
+release.external/exechlp-1.2.zip!/Linux-x86_64/process_start    = bin/nativeexecution/Linux-x86_64/process_start
+release.external/exechlp-1.2.zip!/Linux-x86_64/pty              = bin/nativeexecution/Linux-x86_64/pty
+release.external/exechlp-1.2.zip!/Linux-x86_64/pty_open         = bin/nativeexecution/Linux-x86_64/pty_open
+release.external/exechlp-1.2.zip!/Linux-x86_64/sigqueue         = bin/nativeexecution/Linux-x86_64/sigqueue
+release.external/exechlp-1.2.zip!/Linux-x86_64/stat             = bin/nativeexecution/Linux-x86_64/stat
+release.external/exechlp-1.2.zip!/Linux-x86_64/unbuffer.so      = bin/nativeexecution/Linux-x86_64/unbuffer.so
+release.external/exechlp-1.2.zip!/Linux-x86_64/killall          = bin/nativeexecution/Linux-x86_64/killall
+release.external/exechlp-1.2.zip!/Linux-sparc_64/process_start  = bin/nativeexecution/Linux-sparc_64/process_start
+release.external/exechlp-1.2.zip!/Linux-sparc_64/pty            = bin/nativeexecution/Linux-sparc_64/pty
+release.external/exechlp-1.2.zip!/Linux-sparc_64/pty_open       = bin/nativeexecution/Linux-sparc_64/pty_open
+release.external/exechlp-1.2.zip!/Linux-sparc_64/sigqueue       = bin/nativeexecution/Linux-sparc_64/sigqueue
+release.external/exechlp-1.2.zip!/Linux-sparc_64/stat           = bin/nativeexecution/Linux-sparc_64/stat
+release.external/exechlp-1.2.zip!/Linux-sparc_64/unbuffer.so    = bin/nativeexecution/Linux-sparc_64/unbuffer.so
+release.external/exechlp-1.2.zip!/Linux-sparc_64/killall        = bin/nativeexecution/Linux-sparc_64/killall
+release.external/exechlp-1.2.zip!/Windows-x86/process_start     = bin/nativeexecution/Windows-x86/process_start
+release.external/exechlp-1.2.zip!/Windows-x86/pty               = bin/nativeexecution/Windows-x86/pty
+release.external/exechlp-1.2.zip!/Windows-x86/pty_open          = bin/nativeexecution/Windows-x86/pty_open
+release.external/exechlp-1.2.zip!/Windows-x86/sigqueue          = bin/nativeexecution/Windows-x86/sigqueue
+release.external/exechlp-1.2.zip!/Windows-x86/unbuffer.dll      = bin/nativeexecution/Windows-x86/unbuffer.dll
+release.external/exechlp-1.2.zip!/Windows-x86/killall           = bin/nativeexecution/Windows-x86/killall
+release.external/exechlp-1.2.zip!/Windows-x86_64/process_start  = bin/nativeexecution/Windows-x86_64/process_start
+release.external/exechlp-1.2.zip!/Windows-x86_64/pty            = bin/nativeexecution/Windows-x86_64/pty
+release.external/exechlp-1.2.zip!/Windows-x86_64/pty_open       = bin/nativeexecution/Windows-x86_64/pty_open
+release.external/exechlp-1.2.zip!/Windows-x86_64/sigqueue       = bin/nativeexecution/Windows-x86_64/sigqueue
+release.external/exechlp-1.2.zip!/Windows-x86_64/killall        = bin/nativeexecution/Windows-x86_64/killall
+release.external/exechlp-1.2.zip!/Windows-x86_64/unbuffer.dll   = bin/nativeexecution/Windows-x86_64/unbuffer.dll
+release.external/exechlp-1.2.zip!/MacOSX-x86/process_start      = bin/nativeexecution/MacOSX-x86/process_start
+release.external/exechlp-1.2.zip!/MacOSX-x86/pty                = bin/nativeexecution/MacOSX-x86/pty
+release.external/exechlp-1.2.zip!/MacOSX-x86/pty_open           = bin/nativeexecution/MacOSX-x86/pty_open
+release.external/exechlp-1.2.zip!/MacOSX-x86/stat               = bin/nativeexecution/MacOSX-x86/stat
+release.external/exechlp-1.2.zip!/MacOSX-x86/unbuffer.dylib     = bin/nativeexecution/MacOSX-x86/unbuffer.dylib
+release.external/exechlp-1.2.zip!/MacOSX-x86/killall            = bin/nativeexecution/MacOSX-x86/killall
+release.external/exechlp-1.2.zip!/MacOSX-x86_64/process_start   = bin/nativeexecution/MacOSX-x86_64/process_start
+release.external/exechlp-1.2.zip!/MacOSX-x86_64/pty             = bin/nativeexecution/MacOSX-x86_64/pty
+release.external/exechlp-1.2.zip!/MacOSX-x86_64/pty_open        = bin/nativeexecution/MacOSX-x86_64/pty_open
+release.external/exechlp-1.2.zip!/MacOSX-x86_64/stat            = bin/nativeexecution/MacOSX-x86_64/stat
+release.external/exechlp-1.2.zip!/MacOSX-x86_64/unbuffer.dylib  = bin/nativeexecution/MacOSX-x86_64/unbuffer.dylib
+release.external/exechlp-1.2.zip!/MacOSX-x86_64/killall         = bin/nativeexecution/MacOSX-x86_64/killall
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/privp          = bin/nativeexecution/SunOS-sparc_64/privp
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/process_start  = bin/nativeexecution/SunOS-sparc_64/process_start
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/pty            = bin/nativeexecution/SunOS-sparc_64/pty
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/pty_open       = bin/nativeexecution/SunOS-sparc_64/pty_open
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/sigqueue       = bin/nativeexecution/SunOS-sparc_64/sigqueue
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/stat           = bin/nativeexecution/SunOS-sparc_64/stat
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/unbuffer.so    = bin/nativeexecution/SunOS-sparc_64/unbuffer.so
+release.external/exechlp-1.2.zip!/SunOS-sparc_64/killall        = bin/nativeexecution/SunOS-sparc_64/killall
+release.external/exechlp-1.2.zip!/SunOS-x86/privp               = bin/nativeexecution/SunOS-x86/privp
+release.external/exechlp-1.2.zip!/SunOS-x86/process_start       = bin/nativeexecution/SunOS-x86/process_start
+release.external/exechlp-1.2.zip!/SunOS-x86/pty                 = bin/nativeexecution/SunOS-x86/pty
+release.external/exechlp-1.2.zip!/SunOS-x86/pty_open            = bin/nativeexecution/SunOS-x86/pty_open
+release.external/exechlp-1.2.zip!/SunOS-x86/sigqueue            = bin/nativeexecution/SunOS-x86/sigqueue
+release.external/exechlp-1.2.zip!/SunOS-x86/stat                = bin/nativeexecution/SunOS-x86/stat
+release.external/exechlp-1.2.zip!/SunOS-x86/unbuffer.so         = bin/nativeexecution/SunOS-x86/unbuffer.so
+release.external/exechlp-1.2.zip!/SunOS-x86/killall             = bin/nativeexecution/SunOS-x86/killall
+release.external/exechlp-1.2.zip!/SunOS-x86_64/process_start    = bin/nativeexecution/SunOS-x86_64/process_start
+release.external/exechlp-1.2.zip!/SunOS-x86_64/pty              = bin/nativeexecution/SunOS-x86_64/pty
+release.external/exechlp-1.2.zip!/SunOS-x86_64/pty_open         = bin/nativeexecution/SunOS-x86_64/pty_open
+release.external/exechlp-1.2.zip!/SunOS-x86_64/sigqueue         = bin/nativeexecution/SunOS-x86_64/sigqueue
+release.external/exechlp-1.2.zip!/SunOS-x86_64/stat             = bin/nativeexecution/SunOS-x86_64/stat
+release.external/exechlp-1.2.zip!/SunOS-x86_64/unbuffer.so      = bin/nativeexecution/SunOS-x86_64/unbuffer.so
+release.external/exechlp-1.2.zip!/SunOS-x86_64/killall          = bin/nativeexecution/SunOS-x86_64/killall
 
diff --git a/ide/dlight.nativeexecution/release/bin/nativeexecution/hostinfo.sh b/ide/dlight.nativeexecution/release/bin/nativeexecution/hostinfo.sh
index eb85297..100cb3e 100755
--- a/ide/dlight.nativeexecution/release/bin/nativeexecution/hostinfo.sh
+++ b/ide/dlight.nativeexecution/release/bin/nativeexecution/hostinfo.sh
@@ -39,7 +39,7 @@
          BITNESS=64
       fi
    else
-      uname -a | egrep "x86_64|WOW64|sparc64" >/dev/null
+      uname -a | egrep "x86_64|WOW64|sparc64|aarch64" >/dev/null
       if [ $? -eq 0 ]; then
          BITNESS=64
       fi
@@ -187,4 +187,4 @@
 echo DATETIME=${DATETIME}
 echo ENVFILE=${ENVFILE}
 echo ID=${ID}
-exit 0
\ No newline at end of file
+exit 0
diff --git a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/HostInfo.java b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/HostInfo.java
index 65fd11c..667acc7 100644
--- a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/HostInfo.java
+++ b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/HostInfo.java
@@ -28,6 +28,7 @@
         SPARC,
         X86,
         ARM,
+        AARCH64,
         UNKNOWN;
     }
 
diff --git a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/pty/PtySupport.java b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/pty/PtySupport.java
index 9420be6..8848070 100644
--- a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/pty/PtySupport.java
+++ b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/pty/PtySupport.java
@@ -168,7 +168,8 @@
                 case LINUX:
                     return hostInfo.getCpuFamily().equals(CpuFamily.X86) 
                             || hostInfo.getCpuFamily().equals(CpuFamily.SPARC)
-                            || (hostInfo.getCpuFamily().equals(CpuFamily.ARM) && Boolean.getBoolean("cnd.pty.arm.support"));
+                            || (hostInfo.getCpuFamily().equals(CpuFamily.ARM) && Boolean.getBoolean("cnd.pty.arm.support"))
+                            || hostInfo.getCpuFamily().equals(CpuFamily.AARCH64);
                 case SUNOS:
                     return true;
                 case FREEBSD:
diff --git a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/MacroExpanderFactory.java b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/MacroExpanderFactory.java
index 198f8be..c177954 100644
--- a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/MacroExpanderFactory.java
+++ b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/MacroExpanderFactory.java
@@ -277,7 +277,7 @@
             predefinedMacros.put("soext", soext); // NOI18N
             predefinedMacros.put("osname", osname); // NOI18N
             predefinedMacros.put("isa", os.getBitness().toString()); // NOI18N
-            predefinedMacros.put("_isa", os.getBitness() == HostInfo.Bitness._64 ? "_64" : ""); // NOI18N
+            predefinedMacros.put("_isa", os.getBitness() == HostInfo.Bitness._64 && hostInfo.getCpuFamily() != HostInfo.CpuFamily.AARCH64 ? "_64" : ""); // NOI18N
             String platform = hostInfo.getCpuFamily().name().toLowerCase();
 
             if (style == ExpanderStyle.SUNSTUDIO_STYLE) {
diff --git a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/UnbufferSupport.java b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/UnbufferSupport.java
index cc358f2..c3928a2 100644
--- a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/UnbufferSupport.java
+++ b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/api/util/UnbufferSupport.java
@@ -73,9 +73,10 @@
                 return;
             case LINUX:
                 if (!hinfo.getCpuFamily().equals(CpuFamily.X86) && 
-                        !hinfo.getCpuFamily().equals(CpuFamily.SPARC)) {
+                        !hinfo.getCpuFamily().equals(CpuFamily.SPARC) &&
+                        !hinfo.getCpuFamily().equals(CpuFamily.AARCH64)) {
                     // Unbuffer is available for x86 only
-                    //and now for sparc linux
+                    // and now for sparc and aarch64 linux
                     return;
                 }
                 break;
diff --git a/ide/dlight.nativeexecution/tools/Makefile b/ide/dlight.nativeexecution/tools/Makefile
index 0796cbd..4eab98e 100644
--- a/ide/dlight.nativeexecution/tools/Makefile
+++ b/ide/dlight.nativeexecution/tools/Makefile
@@ -31,6 +31,7 @@
 CF_Linux-x86_64	    = -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -m64
 CF_Linux-sparc_64   = -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -m64
 CF_Linux-arm	    = -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -std=c99
+CF_Linux-aarch64    = -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -std=c99
 CF_MacOSX-x86	    = -DMAXOSX  -D_DARWIN_C_SOURCE -m32
 CF_MacOSX-x86_64    = -DMAXOSX  -D_DARWIN_C_SOURCE -m64
 CF_SunOS-sparc_64   = -DSOLARIS -D__EXTENSIONS__ -m64
diff --git a/ide/dlight.nativeexecution/tools/killall/Makefile b/ide/dlight.nativeexecution/tools/killall/Makefile
index fde9873..dd2c181 100644
--- a/ide/dlight.nativeexecution/tools/killall/Makefile
+++ b/ide/dlight.nativeexecution/tools/killall/Makefile
@@ -52,6 +52,7 @@
 SOURCES_SunOS-sparc_64=$(SOURCES_SunOS)
 SOURCES_Linux-x86=$(SOURCES_Linux)
 SOURCES_Linux-arm=$(SOURCES_Linux)
+SOURCES_Linux-aarch64=$(SOURCES_Linux)
 SOURCES_Linux-x86_64=$(SOURCES_Linux)
 SOURCES_Linux-sparc_64=$(SOURCES_Linux)
 SOURCES_MacOSX-x86=$(SOURCES_Mac)
@@ -84,6 +85,7 @@
 CF_Windows-x86    = $(CF_COMMON) -DWINDOWS -m32
 
 CF_Linux-x86_64   = $(CF_COMMON) -DLINUX -m64
+CF_Linux-aarch64  = $(CF_COMMON) -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -std=c99
 CF_Linux-sparc_64 = $(CF_COMMON) -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -m64
 CF_MacOSX-x86_64  = $(CF_COMMON) -DMACOSX  -m64
 CF_SunOS-sparc_64 = $(CF_COMMON) -DSOLARIS -D__EXTENSIONS__ -m64
diff --git a/ide/dlight.nativeexecution/tools/pty/Makefile b/ide/dlight.nativeexecution/tools/pty/Makefile
index 83d8bd8..a40b0c0 100644
--- a/ide/dlight.nativeexecution/tools/pty/Makefile
+++ b/ide/dlight.nativeexecution/tools/pty/Makefile
@@ -51,6 +51,7 @@
 CF_Linux-x86_64   = $(CF_COMMON) -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -m64
 CF_Linux-sparc_64 = $(CF_COMMON) -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -m64
 CF_Linux-arm      = $(CF_COMMON) -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -std=c99
+CF_Linux-aarch64  = $(CF_COMMON) -DLINUX   -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -std=c99
 CF_MacOSX-x86     = $(CF_COMMON) -DMAXOSX  -D_DARWIN_C_SOURCE -m32
 CF_MacOSX-x86_64  = $(CF_COMMON) -DMAXOSX  -D_DARWIN_C_SOURCE -m64
 CF_SunOS-sparc_64 = $(CF_COMMON) -DSOLARIS -D__EXTENSIONS__ -m64
diff --git a/ide/dlight.nativeexecution/tools/unbuffer/Makefile b/ide/dlight.nativeexecution/tools/unbuffer/Makefile
index b7c028e..f3b17ac 100644
--- a/ide/dlight.nativeexecution/tools/unbuffer/Makefile
+++ b/ide/dlight.nativeexecution/tools/unbuffer/Makefile
@@ -38,6 +38,8 @@
 EX_Linux-x86      = unbuffer.so
 CF_Linux-arm      = $(CF_COMMON) -DLINUX -shared -fPIC
 EX_Linux-arm      = unbuffer.so
+CF_Linux-aarch64  = $(CF_COMMON) -DLINUX -shared -fPIC
+EX_Linux-aarch64  = unbuffer.so
 CF_Linux-x86_64   = $(CF_COMMON) -DLINUX -shared -fPIC -m64
 EX_Linux-x86_64   = unbuffer.so
 CF_Linux-sparc_64 = $(CF_COMMON) -DLINUX -shared -fPIC -m64
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateInsertHandler.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateInsertHandler.java
index cb15ca4..5d7f36c 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateInsertHandler.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateInsertHandler.java
@@ -515,7 +515,7 @@
             return false;
         }
         TextSync last = removed.get(removed.size()-1).activeTextSync();
-        return last.isCaretMarker() && last.isCompletionInvoke();
+        return last != null && last.isCaretMarker() && last.isCompletionInvoke();
     }
 
     void release() {
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java b/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
index 35b1f39..941da1c 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
@@ -1151,7 +1151,7 @@
                                 newline();
                             else
                                 space();
-                        } else {
+                        } else if (sp.getStartPosition(root, mods) != sp.getStartPosition(root, node.getType())) {
                             space();
                         }
                     } else if (afterAnnotation) {
diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java
index a55ea97..a7b245a 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java
@@ -6099,6 +6099,61 @@
         reformat(doc, content, golden);
     }
 
+    public void testTryWithResources() throws Exception {
+        testFile = new File(getWorkDir(), "Test.java");
+        TestUtilities.copyStringToFile(testFile, "");
+        FileObject testSourceFO = FileUtil.toFileObject(testFile);
+        DataObject testSourceDO = DataObject.find(testSourceFO);
+        EditorCookie ec = (EditorCookie) testSourceDO.getCookie(EditorCookie.class);
+        final Document doc = ec.openDocument();
+        doc.putProperty(Language.class, JavaTokenId.language());
+
+        String content
+                = "package hierbas.del.litoral;\n\n"
+                + "public class Test {\n\n"
+                + "    public static void main(String[] args) {\n"
+                + "        try (PrintStream out = System.out) {\n"
+                + "            System.out.println(\"TEST\");\n"
+                + "        } catch (Exception e) {\n"
+                + "            System.out.println(\"CATCH\");\n"
+                + "        } finally {\n"
+                + "            System.out.println(\"FINALLY\");\n"
+                + "        }\n"
+                + "    }\n"
+                + "}\n";
+        String golden
+                = "package hierbas.del.litoral;\n\n"
+                + "public class Test {\n\n"
+                + "    public static void main(String[] args) {\n"
+                + "        try (PrintStream out = System.out) {\n"
+                + "            System.out.println(\"TEST\");\n"
+                + "        } catch (Exception e) {\n"
+                + "            System.out.println(\"CATCH\");\n"
+                + "        } finally {\n"
+                + "            System.out.println(\"FINALLY\");\n"
+                + "        }\n"
+                + "    }\n"
+                + "}\n";
+        reformat(doc, content, golden);
+
+        content = "package hierbas.del.litoral;\n\n"
+                + "public class Test {\n\n"
+                + "    public static void main(String[] args) {\n"
+                + "        try ( final   PrintStream  out = System.out) {\n"
+                + "            System.out.println(\"TEST\");\n"
+                + "        }\n"
+                + "    }\n"
+                + "}\n";
+        golden = "package hierbas.del.litoral;\n\n"
+                + "public class Test {\n\n"
+                + "    public static void main(String[] args) {\n"
+                + "        try (final PrintStream out = System.out) {\n"
+                + "            System.out.println(\"TEST\");\n"
+                + "        }\n"
+                + "    }\n"
+                + "}\n";
+        reformat(doc, content, golden);
+    }
 
     public void testSynchronizedBlockAfterFor() throws Exception {
         testFile = new File(getWorkDir(), "Test.java");
diff --git a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java
index cdd29cd..84c7583 100644
--- a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java
+++ b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java
@@ -137,8 +137,11 @@
 
             @Override
             public void exitRule_(ANTLRv3Parser.Rule_Context ctx) {
-                AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.id_().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1);
-                structure.add(rule);
+                if (ctx.id_() != null) {
+                    AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(
+                            ctx.id_().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1);
+                    structure.add(rule);
+                }
             }
 
         };
diff --git a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java
index eba55a4..ffffb31 100644
--- a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java
+++ b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java
@@ -211,7 +211,7 @@
 
             @Override
             public void exitLexerRuleSpec(ANTLRv4Parser.LexerRuleSpecContext ctx) {
-                if (ctx.FRAGMENT() == null) {
+                if ((ctx.FRAGMENT() == null) && (ctx.TOKEN_REF() != null)) {
                     // Do not represent fragments in the structure
                     AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.TOKEN_REF().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1);
                     lexerStructure.add(rule);
@@ -220,8 +220,10 @@
 
             @Override
             public void exitParserRuleSpec(ANTLRv4Parser.ParserRuleSpecContext ctx) {
-                AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.RULE_REF().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1);
-                structure.add(rule);
+                if (ctx.RULE_REF() != null) {
+                    AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.RULE_REF().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1);
+                    structure.add(rule);
+                }
             }
 
             @Override