Use ifunc for ARM32 fortify functions

Test: compile and run bionic unit tests
Test: make PRODUCT-sdk_phone_arm64-sdk
Change-Id: I614f495ad6053d507446a6a896b9199825325188
diff --git a/libc/Android.bp b/libc/Android.bp
index 4c5b0b3..a8a2545 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -691,120 +691,32 @@
 
     arch: {
         arm: {
-            cflags: ["-DNO___MEMCPY_CHK"],
+            cflags: [
+                "-DNO___MEMCPY_CHK",
+                "-DRENAME___STRCAT_CHK",
+                "-DRENAME___STRCPY_CHK",
+            ],
             srcs: [
                 "arch-arm/generic/bionic/__memcpy_chk.S",
+
+                "arch-arm/cortex-a15/bionic/__strcat_chk.S",
+                "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
+
+                "arch-arm/cortex-a7/bionic/__strcat_chk.S",
+                "arch-arm/cortex-a7/bionic/__strcpy_chk.S",
+
+                "arch-arm/cortex-a9/bionic/__strcat_chk.S",
+                "arch-arm/cortex-a9/bionic/__strcpy_chk.S",
+
+                "arch-arm/krait/bionic/__strcat_chk.S",
+                "arch-arm/krait/bionic/__strcpy_chk.S",
+
+                "arch-arm/cortex-a53/bionic/__strcat_chk.S",
+                "arch-arm/cortex-a53/bionic/__strcpy_chk.S",
+
+                "arch-arm/denver/bionic/__strcat_chk.S",
+                "arch-arm/denver/bionic/__strcpy_chk.S",
             ],
-            neon: {
-                cflags: [
-                    "-DNO___STRCAT_CHK",
-                    "-DNO___STRCPY_CHK",
-                ],
-                srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            cortex_a7: {
-                srcs: [
-                    "arch-arm/cortex-a7/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a7/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            cortex_a9: {
-                srcs: [
-                    "arch-arm/cortex-a9/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a9/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            krait: {
-                srcs: [
-                    "arch-arm/krait/bionic/__strcat_chk.S",
-                    "arch-arm/krait/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            cortex_a53: {
-                srcs: [
-                    "arch-arm/cortex-a53/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a53/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            cortex_a55: {
-                srcs: [
-                    "arch-arm/denver/bionic/__strcat_chk.S",
-                    "arch-arm/denver/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            cortex_a73: {
-                srcs: [
-                    "arch-arm/denver/bionic/__strcat_chk.S",
-                    "arch-arm/denver/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            cortex_a75: {
-                srcs: [
-                    "arch-arm/denver/bionic/__strcat_chk.S",
-                    "arch-arm/denver/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            cortex_a76: {
-                srcs: [
-                    "arch-arm/denver/bionic/__strcat_chk.S",
-                    "arch-arm/denver/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            denver: {
-                srcs: [
-                    "arch-arm/denver/bionic/__strcat_chk.S",
-                    "arch-arm/denver/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
-            kryo: {
-                srcs: [
-                    "arch-arm/krait/bionic/__strcat_chk.S",
-                    "arch-arm/krait/bionic/__strcpy_chk.S",
-                ],
-                exclude_srcs: [
-                    "arch-arm/cortex-a15/bionic/__strcat_chk.S",
-                    "arch-arm/cortex-a15/bionic/__strcpy_chk.S",
-                ],
-            },
         },
         arm64: {
             cflags: ["-DNO___MEMCPY_CHK"],