Merge "Address reviewer comments from the previous commits"
diff --git a/core/binary.mk b/core/binary.mk
index 2c20eed..0d7206f 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -266,10 +266,7 @@
       endif
     endif
 
-    ifneq (,$(filter armeabi armeabi-v7a,$(my_cpu_variant)))
-      my_ndk_stl_static_lib += $(my_libcxx_libdir)/libunwind.a
-    endif
-
+    my_ndk_stl_static_lib += $(my_libcxx_libdir)/libunwind.a
     my_ldlibs += -ldl
   else # LOCAL_NDK_STL_VARIANT must be none
     # Do nothing.
diff --git a/core/cxx_stl_setup.mk b/core/cxx_stl_setup.mk
index f71ef72..0d557c7 100644
--- a/core/cxx_stl_setup.mk
+++ b/core/cxx_stl_setup.mk
@@ -82,15 +82,7 @@
         endif
     endif
 else ifeq ($(my_cxx_stl),ndk)
-    # Using an NDK STL. Handled in binary.mk, except for the unwinder.
-    # TODO: Switch the NDK over to the LLVM unwinder for non-arm32 architectures.
-    ifeq (arm,$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))
-        my_static_libraries += libunwind_llvm
-        my_ldflags += -Wl,--exclude-libs,libunwind_llvm.a
-    else
-        my_static_libraries += libgcc_stripped
-        my_ldflags += -Wl,--exclude-libs,libgcc_stripped.a
-    endif
+    # Using an NDK STL. Handled in binary.mk.
 else ifeq ($(my_cxx_stl),libstdc++)
     $(error $(LOCAL_PATH): $(LOCAL_MODULE): libstdc++ is not supported)
 else ifeq ($(my_cxx_stl),none)
diff --git a/tools/rbcrun/host.go b/tools/rbcrun/host.go
index f1697f1..1e43334 100644
--- a/tools/rbcrun/host.go
+++ b/tools/rbcrun/host.go
@@ -182,7 +182,7 @@
 	}
 	if shellPath == "" {
 		return starlark.None,
-			fmt.Errorf("cannot run shell, SHELL environment variable is not set (running on Windows?)")
+			fmt.Errorf("cannot run shell, /bin/sh is missing (running on Windows?)")
 	}
 	cmd := exec.Command(shellPath, "-c", command)
 	// We ignore command's status
@@ -234,8 +234,12 @@
 		"rblf_wildcard": starlark.NewBuiltin("rblf_wildcard", wildcard),
 	}
 
-	// NOTE(asmundak): OS-specific.
-	shellPath, _ = os.LookupEnv("SHELL")
+	// NOTE(asmundak): OS-specific. Behave similar to Linux `system` call,
+	// which always uses /bin/sh to run the command
+	shellPath = "/bin/sh"
+	if _, err := os.Stat(shellPath); err != nil {
+		shellPath = ""
+	}
 }
 
 // Parses, resolves, and executes a Starlark file.