Generate libdl.so per-architecture version script
Bug: http://b/24767418
Change-Id: I3d5775ba44d4c8e7fc5f2fbebae10e022100f1e2
diff --git a/libdl/Android.mk b/libdl/Android.mk
index 4ab32e0..9a9c756 100644
--- a/libdl/Android.mk
+++ b/libdl/Android.mk
@@ -15,12 +15,19 @@
#
# DO NOT REMOVE --exclude-libs!
-LOCAL_LDFLAGS := -Wl,--exclude-libs=libgcc.a -Wl,--version-script=$(LOCAL_PATH)/libdl.map
+LOCAL_LDFLAGS := -Wl,--exclude-libs=libgcc.a
# for x86, exclude libgcc_eh.a for the same reasons as above
LOCAL_LDFLAGS_x86 := -Wl,--exclude-libs=libgcc_eh.a
LOCAL_LDFLAGS_x86_64 := $(LOCAL_LDFLAGS_x86)
+LOCAL_LDFLAGS_arm += -Wl,--version-script=$(LOCAL_PATH)/libdl.arm.map
+LOCAL_LDFLAGS_arm64 += -Wl,--version-script=$(LOCAL_PATH)/libdl.arm64.map
+LOCAL_LDFLAGS_mips += -Wl,--version-script=$(LOCAL_PATH)/libdl.mips.map
+LOCAL_LDFLAGS_mips64 += -Wl,--version-script=$(LOCAL_PATH)/libdl.mips64.map
+LOCAL_LDFLAGS_x86 += -Wl,--version-script=$(LOCAL_PATH)/libdl.x86.map
+LOCAL_LDFLAGS_x86_64 += -Wl,--version-script=$(LOCAL_PATH)/libdl.x86_64.map
+
LOCAL_SRC_FILES:= libdl.c
LOCAL_CFLAGS := -Wall -Wextra -Wunused -Werror
LOCAL_CXX_STL := none
diff --git a/libdl/libdl.arm.map b/libdl/libdl.arm.map
new file mode 100644
index 0000000..9e58704
--- /dev/null
+++ b/libdl/libdl.arm.map
@@ -0,0 +1,23 @@
+# Generated by genversionscripts.py. Do not edit.
+
+LIBC {
+ global:
+ android_dlopen_ext;
+ dl_iterate_phdr;
+ dl_unwind_find_exidx; # arm
+ dladdr;
+ dlclose;
+ dlerror;
+ dlopen;
+ dlsym;
+ local:
+ *;
+};
+
+LIBC_PRIVATE {
+ global:
+ android_get_application_target_sdk_version;
+ android_set_application_target_sdk_version;
+ android_get_LD_LIBRARY_PATH;
+ android_update_LD_LIBRARY_PATH;
+} LIBC;
diff --git a/libdl/libdl.arm64.map b/libdl/libdl.arm64.map
new file mode 100644
index 0000000..e83b501
--- /dev/null
+++ b/libdl/libdl.arm64.map
@@ -0,0 +1,22 @@
+# Generated by genversionscripts.py. Do not edit.
+
+LIBC {
+ global:
+ android_dlopen_ext;
+ dl_iterate_phdr;
+ dladdr;
+ dlclose;
+ dlerror;
+ dlopen;
+ dlsym;
+ local:
+ *;
+};
+
+LIBC_PRIVATE {
+ global:
+ android_get_application_target_sdk_version;
+ android_set_application_target_sdk_version;
+ android_get_LD_LIBRARY_PATH;
+ android_update_LD_LIBRARY_PATH;
+} LIBC;
diff --git a/libdl/libdl.map b/libdl/libdl.map.txt
similarity index 93%
rename from libdl/libdl.map
rename to libdl/libdl.map.txt
index a911cb6..f71f40b 100644
--- a/libdl/libdl.map
+++ b/libdl/libdl.map.txt
@@ -18,9 +18,7 @@
global:
android_dlopen_ext;
dl_iterate_phdr;
-# begin arm-only
- dl_unwind_find_exidx;
-# end arm-only
+ dl_unwind_find_exidx; # arm
dladdr;
dlclose;
dlerror;
diff --git a/libdl/libdl.mips.map b/libdl/libdl.mips.map
new file mode 100644
index 0000000..e83b501
--- /dev/null
+++ b/libdl/libdl.mips.map
@@ -0,0 +1,22 @@
+# Generated by genversionscripts.py. Do not edit.
+
+LIBC {
+ global:
+ android_dlopen_ext;
+ dl_iterate_phdr;
+ dladdr;
+ dlclose;
+ dlerror;
+ dlopen;
+ dlsym;
+ local:
+ *;
+};
+
+LIBC_PRIVATE {
+ global:
+ android_get_application_target_sdk_version;
+ android_set_application_target_sdk_version;
+ android_get_LD_LIBRARY_PATH;
+ android_update_LD_LIBRARY_PATH;
+} LIBC;
diff --git a/libdl/libdl.mips64.map b/libdl/libdl.mips64.map
new file mode 100644
index 0000000..e83b501
--- /dev/null
+++ b/libdl/libdl.mips64.map
@@ -0,0 +1,22 @@
+# Generated by genversionscripts.py. Do not edit.
+
+LIBC {
+ global:
+ android_dlopen_ext;
+ dl_iterate_phdr;
+ dladdr;
+ dlclose;
+ dlerror;
+ dlopen;
+ dlsym;
+ local:
+ *;
+};
+
+LIBC_PRIVATE {
+ global:
+ android_get_application_target_sdk_version;
+ android_set_application_target_sdk_version;
+ android_get_LD_LIBRARY_PATH;
+ android_update_LD_LIBRARY_PATH;
+} LIBC;
diff --git a/libdl/libdl.x86.map b/libdl/libdl.x86.map
new file mode 100644
index 0000000..e83b501
--- /dev/null
+++ b/libdl/libdl.x86.map
@@ -0,0 +1,22 @@
+# Generated by genversionscripts.py. Do not edit.
+
+LIBC {
+ global:
+ android_dlopen_ext;
+ dl_iterate_phdr;
+ dladdr;
+ dlclose;
+ dlerror;
+ dlopen;
+ dlsym;
+ local:
+ *;
+};
+
+LIBC_PRIVATE {
+ global:
+ android_get_application_target_sdk_version;
+ android_set_application_target_sdk_version;
+ android_get_LD_LIBRARY_PATH;
+ android_update_LD_LIBRARY_PATH;
+} LIBC;
diff --git a/libdl/libdl.x86_64.map b/libdl/libdl.x86_64.map
new file mode 100644
index 0000000..e83b501
--- /dev/null
+++ b/libdl/libdl.x86_64.map
@@ -0,0 +1,22 @@
+# Generated by genversionscripts.py. Do not edit.
+
+LIBC {
+ global:
+ android_dlopen_ext;
+ dl_iterate_phdr;
+ dladdr;
+ dlclose;
+ dlerror;
+ dlopen;
+ dlsym;
+ local:
+ *;
+};
+
+LIBC_PRIVATE {
+ global:
+ android_get_application_target_sdk_version;
+ android_set_application_target_sdk_version;
+ android_get_LD_LIBRARY_PATH;
+ android_update_LD_LIBRARY_PATH;
+} LIBC;