Update makefiles after merge of Chromium at b62471bd5180

This commit was generated by merge_from_chromium.py.

Change-Id: I9fcfaa7698e42b6e0818815b362cdc57acd7cb9c
diff --git a/icudata.host.darwin-arm.mk b/icudata.host.darwin-arm.mk
index 44be009..7ddc82a 100644
--- a/icudata.host.darwin-arm.mk
+++ b/icudata.host.darwin-arm.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -100,6 +99,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -112,7 +112,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -180,6 +179,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.darwin-arm64.mk b/icudata.host.darwin-arm64.mk
index b11c26c..d813591 100644
--- a/icudata.host.darwin-arm64.mk
+++ b/icudata.host.darwin-arm64.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -99,6 +98,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -111,7 +111,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -178,6 +177,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.darwin-mips.mk b/icudata.host.darwin-mips.mk
index 874d33d..1a32fe7 100644
--- a/icudata.host.darwin-mips.mk
+++ b/icudata.host.darwin-mips.mk
@@ -33,7 +33,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -101,6 +100,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -114,7 +114,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -182,6 +181,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.darwin-x86.mk b/icudata.host.darwin-x86.mk
index 44be009..7ddc82a 100644
--- a/icudata.host.darwin-x86.mk
+++ b/icudata.host.darwin-x86.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -100,6 +99,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -112,7 +112,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -180,6 +179,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.darwin-x86_64.mk b/icudata.host.darwin-x86_64.mk
index 3e47d2d..0f41ec2 100644
--- a/icudata.host.darwin-x86_64.mk
+++ b/icudata.host.darwin-x86_64.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -100,6 +99,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -112,7 +112,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -180,6 +179,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.linux-arm.mk b/icudata.host.linux-arm.mk
index a01e991..bf6b0b2 100644
--- a/icudata.host.linux-arm.mk
+++ b/icudata.host.linux-arm.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -100,6 +99,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -112,7 +112,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -180,6 +179,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.linux-arm64.mk b/icudata.host.linux-arm64.mk
index f6a8d83..97332d6 100644
--- a/icudata.host.linux-arm64.mk
+++ b/icudata.host.linux-arm64.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -99,6 +98,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -111,7 +111,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -178,6 +177,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.linux-mips.mk b/icudata.host.linux-mips.mk
index edc2e4f..f5b7c2a 100644
--- a/icudata.host.linux-mips.mk
+++ b/icudata.host.linux-mips.mk
@@ -33,7 +33,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -101,6 +100,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -114,7 +114,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -182,6 +181,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.linux-x86.mk b/icudata.host.linux-x86.mk
index a01e991..bf6b0b2 100644
--- a/icudata.host.linux-x86.mk
+++ b/icudata.host.linux-x86.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -100,6 +99,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -112,7 +112,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -180,6 +179,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.host.linux-x86_64.mk b/icudata.host.linux-x86_64.mk
index c1e6988..84b9666 100644
--- a/icudata.host.linux-x86_64.mk
+++ b/icudata.host.linux-x86_64.mk
@@ -32,7 +32,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -100,6 +99,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -112,7 +112,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -180,6 +179,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.darwin-arm.mk b/icudata.target.darwin-arm.mk
index a3ec5c4..4888f26 100644
--- a/icudata.target.darwin-arm.mk
+++ b/icudata.target.darwin-arm.mk
@@ -30,7 +30,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -123,6 +122,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -140,7 +140,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -233,6 +232,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.darwin-arm64.mk b/icudata.target.darwin-arm64.mk
index 9595880..f7e52d1 100644
--- a/icudata.target.darwin-arm64.mk
+++ b/icudata.target.darwin-arm64.mk
@@ -29,7 +29,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -112,6 +111,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -127,7 +127,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -210,6 +209,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -234,6 +234,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
@@ -248,6 +249,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
diff --git a/icudata.target.darwin-mips.mk b/icudata.target.darwin-mips.mk
index 77e4a80..289d6d8 100644
--- a/icudata.target.darwin-mips.mk
+++ b/icudata.target.darwin-mips.mk
@@ -31,7 +31,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -116,6 +115,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -134,7 +134,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -219,6 +218,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.darwin-x86.mk b/icudata.target.darwin-x86.mk
index 51ef7d0..02c5833 100644
--- a/icudata.target.darwin-x86.mk
+++ b/icudata.target.darwin-x86.mk
@@ -29,7 +29,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -118,6 +117,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -133,7 +133,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -222,6 +221,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.darwin-x86_64.mk b/icudata.target.darwin-x86_64.mk
index 2bd9d7b..246a1a0 100644
--- a/icudata.target.darwin-x86_64.mk
+++ b/icudata.target.darwin-x86_64.mk
@@ -30,7 +30,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -117,6 +116,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -133,7 +133,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -220,6 +219,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.linux-arm.mk b/icudata.target.linux-arm.mk
index a3ec5c4..4888f26 100644
--- a/icudata.target.linux-arm.mk
+++ b/icudata.target.linux-arm.mk
@@ -30,7 +30,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -123,6 +122,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -140,7 +140,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -233,6 +232,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.linux-arm64.mk b/icudata.target.linux-arm64.mk
index 9595880..f7e52d1 100644
--- a/icudata.target.linux-arm64.mk
+++ b/icudata.target.linux-arm64.mk
@@ -29,7 +29,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -112,6 +111,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -127,7 +127,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -210,6 +209,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -234,6 +234,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
@@ -248,6 +249,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
diff --git a/icudata.target.linux-mips.mk b/icudata.target.linux-mips.mk
index 77e4a80..289d6d8 100644
--- a/icudata.target.linux-mips.mk
+++ b/icudata.target.linux-mips.mk
@@ -31,7 +31,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -116,6 +115,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -134,7 +134,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -219,6 +218,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.linux-x86.mk b/icudata.target.linux-x86.mk
index 51ef7d0..02c5833 100644
--- a/icudata.target.linux-x86.mk
+++ b/icudata.target.linux-x86.mk
@@ -29,7 +29,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -118,6 +117,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -133,7 +133,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -222,6 +221,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icudata.target.linux-x86_64.mk b/icudata.target.linux-x86_64.mk
index 2bd9d7b..246a1a0 100644
--- a/icudata.target.linux-x86_64.mk
+++ b/icudata.target.linux-x86_64.mk
@@ -30,7 +30,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -117,6 +116,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -133,7 +133,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -220,6 +219,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.darwin-arm.mk b/icui18n.host.darwin-arm.mk
index 24fba95..3916791 100644
--- a/icui18n.host.darwin-arm.mk
+++ b/icui18n.host.darwin-arm.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -268,6 +267,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -281,7 +281,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -356,6 +355,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.darwin-arm64.mk b/icui18n.host.darwin-arm64.mk
index 4a48d50..8f9b34d 100644
--- a/icui18n.host.darwin-arm64.mk
+++ b/icui18n.host.darwin-arm64.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -267,6 +266,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -280,7 +280,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -354,6 +353,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.darwin-mips.mk b/icui18n.host.darwin-mips.mk
index cd63ad4..e45a986 100644
--- a/icui18n.host.darwin-mips.mk
+++ b/icui18n.host.darwin-mips.mk
@@ -194,7 +194,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -269,6 +268,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -283,7 +283,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -358,6 +357,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.darwin-x86.mk b/icui18n.host.darwin-x86.mk
index 24fba95..3916791 100644
--- a/icui18n.host.darwin-x86.mk
+++ b/icui18n.host.darwin-x86.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -268,6 +267,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -281,7 +281,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -356,6 +355,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.darwin-x86_64.mk b/icui18n.host.darwin-x86_64.mk
index 996063a..7163c13 100644
--- a/icui18n.host.darwin-x86_64.mk
+++ b/icui18n.host.darwin-x86_64.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -268,6 +267,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -281,7 +281,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -356,6 +355,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.linux-arm.mk b/icui18n.host.linux-arm.mk
index bc5c7ac..e97b683 100644
--- a/icui18n.host.linux-arm.mk
+++ b/icui18n.host.linux-arm.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -268,6 +267,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -281,7 +281,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -356,6 +355,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.linux-arm64.mk b/icui18n.host.linux-arm64.mk
index 28c7dfc..d818001 100644
--- a/icui18n.host.linux-arm64.mk
+++ b/icui18n.host.linux-arm64.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -267,6 +266,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -280,7 +280,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -354,6 +353,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.linux-mips.mk b/icui18n.host.linux-mips.mk
index 8f3c924..a62911a 100644
--- a/icui18n.host.linux-mips.mk
+++ b/icui18n.host.linux-mips.mk
@@ -194,7 +194,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -269,6 +268,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -283,7 +283,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -358,6 +357,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.linux-x86.mk b/icui18n.host.linux-x86.mk
index bc5c7ac..e97b683 100644
--- a/icui18n.host.linux-x86.mk
+++ b/icui18n.host.linux-x86.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -268,6 +267,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -281,7 +281,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -356,6 +355,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.host.linux-x86_64.mk b/icui18n.host.linux-x86_64.mk
index 1ec228b..4c59dd9 100644
--- a/icui18n.host.linux-x86_64.mk
+++ b/icui18n.host.linux-x86_64.mk
@@ -193,7 +193,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -268,6 +267,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -281,7 +281,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -356,6 +355,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.darwin-arm.mk b/icui18n.target.darwin-arm.mk
index e9b6ab8..131c9b8 100644
--- a/icui18n.target.darwin-arm.mk
+++ b/icui18n.target.darwin-arm.mk
@@ -191,7 +191,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -288,6 +287,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -306,7 +306,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -403,6 +402,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.darwin-arm64.mk b/icui18n.target.darwin-arm64.mk
index 6f3ed96..92925cf 100644
--- a/icui18n.target.darwin-arm64.mk
+++ b/icui18n.target.darwin-arm64.mk
@@ -190,7 +190,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -293,7 +293,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -380,6 +379,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -405,6 +405,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
@@ -419,6 +420,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
diff --git a/icui18n.target.darwin-mips.mk b/icui18n.target.darwin-mips.mk
index 6388261..64a6839 100644
--- a/icui18n.target.darwin-mips.mk
+++ b/icui18n.target.darwin-mips.mk
@@ -192,7 +192,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -281,6 +280,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -300,7 +300,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -389,6 +388,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.darwin-x86.mk b/icui18n.target.darwin-x86.mk
index 9d35e4e..2a0c5d5 100644
--- a/icui18n.target.darwin-x86.mk
+++ b/icui18n.target.darwin-x86.mk
@@ -190,7 +190,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -283,6 +282,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -299,7 +299,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -392,6 +391,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.darwin-x86_64.mk b/icui18n.target.darwin-x86_64.mk
index 94a785b..bc0693b 100644
--- a/icui18n.target.darwin-x86_64.mk
+++ b/icui18n.target.darwin-x86_64.mk
@@ -191,7 +191,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -282,6 +281,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -299,7 +299,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -390,6 +389,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.linux-arm.mk b/icui18n.target.linux-arm.mk
index e9b6ab8..131c9b8 100644
--- a/icui18n.target.linux-arm.mk
+++ b/icui18n.target.linux-arm.mk
@@ -191,7 +191,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -288,6 +287,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -306,7 +306,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -403,6 +402,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.linux-arm64.mk b/icui18n.target.linux-arm64.mk
index 6f3ed96..92925cf 100644
--- a/icui18n.target.linux-arm64.mk
+++ b/icui18n.target.linux-arm64.mk
@@ -190,7 +190,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -293,7 +293,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -380,6 +379,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -405,6 +405,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
@@ -419,6 +420,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
diff --git a/icui18n.target.linux-mips.mk b/icui18n.target.linux-mips.mk
index 6388261..64a6839 100644
--- a/icui18n.target.linux-mips.mk
+++ b/icui18n.target.linux-mips.mk
@@ -192,7 +192,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -281,6 +280,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -300,7 +300,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -389,6 +388,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.linux-x86.mk b/icui18n.target.linux-x86.mk
index 9d35e4e..2a0c5d5 100644
--- a/icui18n.target.linux-x86.mk
+++ b/icui18n.target.linux-x86.mk
@@ -190,7 +190,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -283,6 +282,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -299,7 +299,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -392,6 +391,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icui18n.target.linux-x86_64.mk b/icui18n.target.linux-x86_64.mk
index 94a785b..bc0693b 100644
--- a/icui18n.target.linux-x86_64.mk
+++ b/icui18n.target.linux-x86_64.mk
@@ -191,7 +191,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -282,6 +281,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -299,7 +299,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -390,6 +389,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.darwin-arm.mk b/icuuc.host.darwin-arm.mk
index f6552f4..55c4028 100644
--- a/icuuc.host.darwin-arm.mk
+++ b/icuuc.host.darwin-arm.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -290,7 +290,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -365,6 +364,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.darwin-arm64.mk b/icuuc.host.darwin-arm64.mk
index 65e18d4..286f618 100644
--- a/icuuc.host.darwin-arm64.mk
+++ b/icuuc.host.darwin-arm64.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -276,6 +275,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -289,7 +289,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -363,6 +362,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.darwin-mips.mk b/icuuc.host.darwin-mips.mk
index ce1df72..7a9227c 100644
--- a/icuuc.host.darwin-mips.mk
+++ b/icuuc.host.darwin-mips.mk
@@ -203,7 +203,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -278,6 +277,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -292,7 +292,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -367,6 +366,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.darwin-x86.mk b/icuuc.host.darwin-x86.mk
index f6552f4..55c4028 100644
--- a/icuuc.host.darwin-x86.mk
+++ b/icuuc.host.darwin-x86.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -290,7 +290,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -365,6 +364,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.darwin-x86_64.mk b/icuuc.host.darwin-x86_64.mk
index ae00fc7..40b85fb 100644
--- a/icuuc.host.darwin-x86_64.mk
+++ b/icuuc.host.darwin-x86_64.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -290,7 +290,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -365,6 +364,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.linux-arm.mk b/icuuc.host.linux-arm.mk
index a921606..cc0409f 100644
--- a/icuuc.host.linux-arm.mk
+++ b/icuuc.host.linux-arm.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -290,7 +290,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -365,6 +364,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.linux-arm64.mk b/icuuc.host.linux-arm64.mk
index 28446c5..20d4763 100644
--- a/icuuc.host.linux-arm64.mk
+++ b/icuuc.host.linux-arm64.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -276,6 +275,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -289,7 +289,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -363,6 +362,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.linux-mips.mk b/icuuc.host.linux-mips.mk
index 295ddb9..58f1d1e 100644
--- a/icuuc.host.linux-mips.mk
+++ b/icuuc.host.linux-mips.mk
@@ -203,7 +203,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -278,6 +277,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -292,7 +292,6 @@
 	--param=ssp-buffer-size=4 \
 	 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -367,6 +366,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.linux-x86.mk b/icuuc.host.linux-x86.mk
index a921606..cc0409f 100644
--- a/icuuc.host.linux-x86.mk
+++ b/icuuc.host.linux-x86.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -290,7 +290,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -365,6 +364,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.host.linux-x86_64.mk b/icuuc.host.linux-x86_64.mk
index 4ebbfa1..d041580 100644
--- a/icuuc.host.linux-x86_64.mk
+++ b/icuuc.host.linux-x86_64.mk
@@ -202,7 +202,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -277,6 +276,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -290,7 +290,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	-pthread \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -365,6 +364,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.darwin-arm.mk b/icuuc.target.darwin-arm.mk
index b2ede95..5196e09 100644
--- a/icuuc.target.darwin-arm.mk
+++ b/icuuc.target.darwin-arm.mk
@@ -200,7 +200,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -297,6 +296,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -315,7 +315,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -412,6 +411,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.darwin-arm64.mk b/icuuc.target.darwin-arm64.mk
index 4c6e8ed..1cf9212 100644
--- a/icuuc.target.darwin-arm64.mk
+++ b/icuuc.target.darwin-arm64.mk
@@ -199,7 +199,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -286,6 +285,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -302,7 +302,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -389,6 +388,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -414,6 +414,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
@@ -428,6 +429,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
diff --git a/icuuc.target.darwin-mips.mk b/icuuc.target.darwin-mips.mk
index 294b715..34c7528 100644
--- a/icuuc.target.darwin-mips.mk
+++ b/icuuc.target.darwin-mips.mk
@@ -201,7 +201,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -290,6 +289,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -309,7 +309,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -398,6 +397,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.darwin-x86.mk b/icuuc.target.darwin-x86.mk
index 02f7a41..a98689f 100644
--- a/icuuc.target.darwin-x86.mk
+++ b/icuuc.target.darwin-x86.mk
@@ -199,7 +199,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -292,6 +291,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -308,7 +308,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -401,6 +400,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.darwin-x86_64.mk b/icuuc.target.darwin-x86_64.mk
index f8a5020..1d90622 100644
--- a/icuuc.target.darwin-x86_64.mk
+++ b/icuuc.target.darwin-x86_64.mk
@@ -200,7 +200,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -291,6 +290,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -308,7 +308,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -399,6 +398,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.linux-arm.mk b/icuuc.target.linux-arm.mk
index b2ede95..5196e09 100644
--- a/icuuc.target.linux-arm.mk
+++ b/icuuc.target.linux-arm.mk
@@ -200,7 +200,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -297,6 +296,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -315,7 +315,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -412,6 +411,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.linux-arm64.mk b/icuuc.target.linux-arm64.mk
index 4c6e8ed..1cf9212 100644
--- a/icuuc.target.linux-arm64.mk
+++ b/icuuc.target.linux-arm64.mk
@@ -199,7 +199,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -286,6 +285,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -302,7 +302,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -389,6 +388,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -414,6 +414,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
@@ -428,6 +429,7 @@
 	-Wl,--fatal-warnings \
 	-Wl,-z,noexecstack \
 	-fPIC \
+	-Wl,--dynamic-linker=/system/bin/linker64 \
 	-nostdlib \
 	-Wl,--no-undefined \
 	-Wl,--exclude-libs=ALL \
diff --git a/icuuc.target.linux-mips.mk b/icuuc.target.linux-mips.mk
index 294b715..34c7528 100644
--- a/icuuc.target.linux-mips.mk
+++ b/icuuc.target.linux-mips.mk
@@ -201,7 +201,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -290,6 +289,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -309,7 +309,6 @@
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
 	 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -398,6 +397,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.linux-x86.mk b/icuuc.target.linux-x86.mk
index 02f7a41..a98689f 100644
--- a/icuuc.target.linux-x86.mk
+++ b/icuuc.target.linux-x86.mk
@@ -199,7 +199,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Debug := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -292,6 +291,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -308,7 +308,6 @@
 # Flags passed to both C and C++ files.
 MY_CFLAGS_Release := \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -401,6 +400,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
diff --git a/icuuc.target.linux-x86_64.mk b/icuuc.target.linux-x86_64.mk
index f8a5020..1d90622 100644
--- a/icuuc.target.linux-x86_64.mk
+++ b/icuuc.target.linux-x86_64.mk
@@ -200,7 +200,6 @@
 MY_CFLAGS_Debug := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -291,6 +290,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Debug := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \
@@ -308,7 +308,6 @@
 MY_CFLAGS_Release := \
 	-fstack-protector \
 	--param=ssp-buffer-size=4 \
-	-fno-exceptions \
 	-fno-strict-aliasing \
 	-Wno-unused-parameter \
 	-Wno-missing-field-initializers \
@@ -399,6 +398,7 @@
 
 # Flags passed to only C++ (and not C) files.
 LOCAL_CPPFLAGS_Release := \
+	-fno-exceptions \
 	-fno-rtti \
 	-fno-threadsafe-statics \
 	-fvisibility-inlines-hidden \