Merge "Fix ndk-build and ndk-build.cmd to observe NDK_HOST_32BIT"
diff --git a/build/core/add-application.mk b/build/core/add-application.mk
index 7e1da59..523e934 100644
--- a/build/core/add-application.mk
+++ b/build/core/add-application.mk
@@ -232,6 +232,7 @@
 endif
 
 APP_CFLAGS := $(strip $(APP_CFLAGS))
+APP_LDFLAGS := $(strip $(APP_LDFLAGS))
 
 # Check that APP_STL is defined. If not, use the default value (system)
 # otherwise, check that the name is correct.
diff --git a/build/core/build-binary.mk b/build/core/build-binary.mk
index 45f599f..1195150 100644
--- a/build/core/build-binary.mk
+++ b/build/core/build-binary.mk
@@ -364,7 +364,7 @@
 $(LOCAL_BUILT_MODULE): PRIVATE_LIBGCC := $(TARGET_LIBGCC)
 
 $(LOCAL_BUILT_MODULE): PRIVATE_LD := $(TARGET_LD)
-$(LOCAL_BUILT_MODULE): PRIVATE_LDFLAGS := $(TARGET_LDFLAGS) $(LOCAL_LDFLAGS)
+$(LOCAL_BUILT_MODULE): PRIVATE_LDFLAGS := $(TARGET_LDFLAGS) $(LOCAL_LDFLAGS) $(NDK_APP_LDFLAGS)
 $(LOCAL_BUILT_MODULE): PRIVATE_LDLIBS  := $(LOCAL_LDLIBS) $(TARGET_LDLIBS)
 
 $(LOCAL_BUILT_MODULE): PRIVATE_NAME := $(notdir $(LOCAL_BUILT_MODULE))
diff --git a/build/core/definitions.mk b/build/core/definitions.mk
index 1d989e2..8b8d5a0 100644
--- a/build/core/definitions.mk
+++ b/build/core/definitions.mk
@@ -1304,7 +1304,7 @@
 NDK_APP_VARS_REQUIRED :=
 
 # the list of variables that *may* be defined in Application.mk files
-NDK_APP_VARS_OPTIONAL := APP_OPTIM APP_CPPFLAGS APP_CFLAGS APP_CXXFLAGS \
+NDK_APP_VARS_OPTIONAL := APP_OPTIM APP_CPPFLAGS APP_CFLAGS APP_CXXFLAGS APP_LDFLAGS \
                          APP_PLATFORM APP_BUILD_SCRIPT APP_ABI APP_MODULES \
                          APP_PROJECT_PATH APP_STL APP_SHORT_COMMANDS \
                          APP_PIE
diff --git a/docs/APPLICATION-MK.html b/docs/APPLICATION-MK.html
index e157f86..2c9b03b 100644
--- a/docs/APPLICATION-MK.html
+++ b/docs/APPLICATION-MK.html
@@ -121,6 +121,9 @@
           You can now use APP_CFLAGS for flags that shall apply to C and
           C++ sources.
 
+APP_LDFLAGS
+    A set of linker flags passed when linking application.
+
 APP_BUILD_SCRIPT
     By default, the NDK build system will look for a file named Android.mk
     under $(APP_PROJECT_PATH)/jni, i.e. for the file:
diff --git a/tests/build/flto/BROKEN_BUILD b/tests/build/flto/BROKEN_BUILD
new file mode 100644
index 0000000..fc3196c
--- /dev/null
+++ b/tests/build/flto/BROKEN_BUILD
@@ -0,0 +1 @@
+clang3.1 4.4.3