Description: remove bionic specific calls
Author: Fathi Boudra <fabo@debian.org>

Upstream-Status: Inappropriate
---
 system/core/include/cutils/properties.h |    1 -
 system/core/libcutils/properties.c      |    2 +-
 system/core/liblog/logd_write.c         |    5 +++++
 3 files changed, 6 insertions(+), 2 deletions(-)

--- a/system/core/include/cutils/properties.h
+++ b/system/core/include/cutils/properties.h
@@ -19,7 +19,6 @@
 
 #include <sys/cdefs.h>
 #include <stddef.h>
-#include <sys/system_properties.h>
 #include <stdint.h>
 
 #ifdef __cplusplus
--- a/system/core/liblog/logd_write.c
+++ b/system/core/liblog/logd_write.c
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
+#include <sys/syscall.h>
 #include <sys/types.h>
 #if (FAKE_LOG_DEVICE == 0)
 #include <sys/socket.h>
@@ -205,7 +206,11 @@ static int __write_to_log_kernel(log_id_
     realtime_ts.tv_nsec = ts.tv_nsec;
 
     log_id_buf = log_id;
+#ifdef __BIONIC__
     tid = gettid();
+#else
+    tid = (pid_t) syscall(__NR_gettid);
+#endif
 
     newVec[0].iov_base   = (unsigned char *) &log_id_buf;
     newVec[0].iov_len    = sizeof_log_id_t;
--- a/system/core/libcutils/properties.c
+++ b/system/core/libcutils/properties.c
@@ -104,10 +104,10 @@ int32_t property_get_int32(const char *k
     return (int32_t)property_get_imax(key, INT32_MIN, INT32_MAX, default_value);
 }
 
+#undef HAVE_LIBC_SYSTEM_PROPERTIES
 #ifdef HAVE_LIBC_SYSTEM_PROPERTIES
 
 #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include <sys/_system_properties.h>
 
 int property_set(const char *key, const char *value)
 {
--- a/external/libselinux/src/procattr.c
+++ b/external/libselinux/src/procattr.c
@@ -8,7 +8,7 @@
 #include "selinux_internal.h"
 #include "policy.h"
 
-#ifdef HOST
+#ifndef __BIONIC__
 static pid_t gettid(void)
 {
 	return syscall(__NR_gettid);
