72 lines
1.7 KiB
Diff
72 lines
1.7 KiB
Diff
This patch fixes the build of adb on linux.
|
|
|
|
Copied from archlinux repository:
|
|
https://git.archlinux.org/svntogit/community.git/tree/trunk/fix_build.patch?h=packages/android-tools
|
|
|
|
diff --git a/adb/sysdeps.h b/adb/sysdeps.h
|
|
index 75dcc86..867f3ec 100644
|
|
--- a/adb/sysdeps.h
|
|
+++ b/adb/sysdeps.h
|
|
@@ -25,6 +25,7 @@
|
|
#endif
|
|
|
|
#include <errno.h>
|
|
+#include <sys/syscall.h>
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
@@ -831,7 +832,16 @@ static __inline__ int adb_is_absolute_host_path(const char* path) {
|
|
|
|
static __inline__ unsigned long adb_thread_id()
|
|
{
|
|
- return (unsigned long)gettid();
|
|
+ // TODO: this function should be merged with GetThreadId
|
|
+#if defined(__BIONIC__)
|
|
+ return gettid();
|
|
+#elif defined(__APPLE__)
|
|
+ return syscall(SYS_thread_selfid);
|
|
+#elif defined(__linux__)
|
|
+ return syscall(__NR_gettid);
|
|
+#elif defined(_WIN32)
|
|
+ return GetCurrentThreadId();
|
|
+#endif
|
|
}
|
|
|
|
#endif /* !_WIN32 */
|
|
diff --git a/base/errors_unix.cpp b/base/errors_unix.cpp
|
|
index 296995e..48269b6 100644
|
|
--- a/base/errors_unix.cpp
|
|
+++ b/base/errors_unix.cpp
|
|
@@ -17,6 +17,7 @@
|
|
#include "android-base/errors.h"
|
|
|
|
#include <errno.h>
|
|
+#include <string.h>
|
|
|
|
namespace android {
|
|
namespace base {
|
|
diff --git a/base/file.cpp b/base/file.cpp
|
|
index da1adba..91a3901 100644
|
|
--- a/base/file.cpp
|
|
+++ b/base/file.cpp
|
|
@@ -20,6 +20,7 @@
|
|
#include <fcntl.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/types.h>
|
|
+#include <string.h>
|
|
|
|
#include <string>
|
|
|
|
diff --git a/base/logging.cpp b/base/logging.cpp
|
|
index 1741871..e97c7f1 100644
|
|
--- a/base/logging.cpp
|
|
+++ b/base/logging.cpp
|
|
@@ -21,6 +21,7 @@
|
|
#include "android-base/logging.h"
|
|
|
|
#include <libgen.h>
|
|
+#include <string.h>
|
|
|
|
// For getprogname(3) or program_invocation_short_name.
|
|
#if defined(__ANDROID__) || defined(__APPLE__)
|