Merge "Add OpenJDK 8 experimental support"
diff --git a/core/binary.mk b/core/binary.mk
index 750e783..5774357 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -235,16 +235,15 @@
       $(my_shared_libraries)
 else
   installed_shared_library_module_names := \
-      $(my_system_shared_libraries) $(my_shared_libraries)
+      $(my_shared_libraries) $(my_system_shared_libraries)
 endif
-installed_shared_library_module_names := $(sort $(installed_shared_library_module_names))
 
 # The real dependency will be added after all Android.mks are loaded and the install paths
 # of the shared libraries are determined.
 ifdef LOCAL_INSTALLED_MODULE
 ifdef installed_shared_library_module_names
 $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \
-    $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(installed_shared_library_module_names))
+    $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(sort $(installed_shared_library_module_names)))
 endif
 endif
 
diff --git a/core/clang/config.mk b/core/clang/config.mk
index 54466a7..acb425d 100644
--- a/core/clang/config.mk
+++ b/core/clang/config.mk
@@ -54,6 +54,7 @@
   -funswitch-loops \
   -Wmaybe-uninitialized \
   -Wno-error=maybe-uninitialized \
+  -Wno-free-nonheap-object \
   -Wno-literal-suffix \
   -Wno-maybe-uninitialized \
   -Wno-old-style-declaration \
diff --git a/core/combo/arch/x86/x86.mk b/core/combo/arch/x86/x86.mk
index 73706c4..f070426 100644
--- a/core/combo/arch/x86/x86.mk
+++ b/core/combo/arch/x86/x86.mk
@@ -13,11 +13,7 @@
 ARCH_X86_HAVE_POPCNT := false
 
 
-# XXX: This flag is probably redundant, because it should be set by default
-# by our toolchain binaries. However, there have been reports that this may
-# not always work as intended, so keep it unless we have the time to check
-# everything properly.
-
+# Some intrinsic functions used by libcxx only exist for prescott or newer CPUs.
 arch_variant_cflags := \
-    -march=i686 \
+    -march=prescott \