aboutsummaryrefslogtreecommitdiffstats
path: root/rilsrc/libsecril-compat
diff options
context:
space:
mode:
authorAndreas Blaesius <skate4life@gmx.de>2016-09-10 17:32:22 +0200
committerAndreas Blaesius <skate4life@gmx.de>2016-09-15 13:29:15 +0200
commite3365c5214b4d20702852955143a2938e94f8a1d (patch)
tree40fb3843684bae2672d3879dc58d8dcaef00a438 /rilsrc/libsecril-compat
parenta090af1179736ef099c815441d087ef18b74b16f (diff)
downloaddevice_samsung_espresso3g-e3365c5214b4d20702852955143a2938e94f8a1d.zip
device_samsung_espresso3g-e3365c5214b4d20702852955143a2938e94f8a1d.tar.gz
device_samsung_espresso3g-e3365c5214b4d20702852955143a2938e94f8a1d.tar.bz2
espresso3g: move libsecril-compat source to rilsrc folder
Change-Id: Ib43a33f4efcacce50b0bf7e3627db6ba0060501d
Diffstat (limited to 'rilsrc/libsecril-compat')
-rw-r--r--rilsrc/libsecril-compat/Android.mk17
-rw-r--r--rilsrc/libsecril-compat/secril-compat.c13
2 files changed, 30 insertions, 0 deletions
diff --git a/rilsrc/libsecril-compat/Android.mk b/rilsrc/libsecril-compat/Android.mk
new file mode 100644
index 0000000..ee6c91b
--- /dev/null
+++ b/rilsrc/libsecril-compat/Android.mk
@@ -0,0 +1,17 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := \
+ secril-compat.c
+
+LOCAL_SHARED_LIBRARIES := \
+ libhardware_legacy \
+ libbinder
+
+LOCAL_CFLAGS := -Wall -Werror
+
+LOCAL_MODULE := libsecril-compat
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/rilsrc/libsecril-compat/secril-compat.c b/rilsrc/libsecril-compat/secril-compat.c
new file mode 100644
index 0000000..fc11450
--- /dev/null
+++ b/rilsrc/libsecril-compat/secril-compat.c
@@ -0,0 +1,13 @@
+#include <sys/types.h>
+
+/**
+ * With the switch to C++11 by default, char16_t became a unique type,
+ * rather than basically just a typedef of uint16_t. As a result, the
+ * compiler now mangles the symbol for writeString16 differently. Our
+ * RIL references the old symbol of course, not the new one.
+ */
+uintptr_t _ZN7android6Parcel13writeString16EPKDsj(void *instance, void *str, size_t len);
+uintptr_t _ZN7android6Parcel13writeString16EPKtj(void *instance, void *str, size_t len)
+{
+ return _ZN7android6Parcel13writeString16EPKDsj(instance, str, len);
+}