aboutsummaryrefslogtreecommitdiffstats
path: root/testing/android-tools/musl-fixes.patch
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2016-12-23 13:58:33 +0100
committerTimo Teräs <timo.teras@iki.fi>2016-12-27 06:28:22 +0000
commit61f5f1d1d0528dea985b04626bc7f59f885cc450 (patch)
treeed83406305d7842b51c58c4353b60fe7bd847f57 /testing/android-tools/musl-fixes.patch
parentdb97c08f4986f5f0dcbefe37251ad9748df81c6e (diff)
downloadaports-61f5f1d1d0528dea985b04626bc7f59f885cc450.tar.bz2
aports-61f5f1d1d0528dea985b04626bc7f59f885cc450.tar.xz
testing/android-tools: upgrade to 7.0.0_p24
Diffstat (limited to 'testing/android-tools/musl-fixes.patch')
-rw-r--r--testing/android-tools/musl-fixes.patch164
1 files changed, 164 insertions, 0 deletions
diff --git a/testing/android-tools/musl-fixes.patch b/testing/android-tools/musl-fixes.patch
new file mode 100644
index 0000000000..4c093ce918
--- /dev/null
+++ b/testing/android-tools/musl-fixes.patch
@@ -0,0 +1,164 @@
+This patch has been taken from the Void Linux distribution.
+
+https://github.com/voidlinux/void-packages/tree/master/srcpkgs/android-tools/patches/android-tools-musl.patch
+
+diff --git core/include/ziparchive/zip_archive.h core/include/ziparchive/zip_archive.h
+index 7dc60ae..8886a35 100644
+--- core/include/ziparchive/zip_archive.h
++++ core/include/ziparchive/zip_archive.h
+@@ -22,11 +22,12 @@
+
+ #include <stdint.h>
+ #include <string.h>
+-#include <sys/cdefs.h>
+ #include <sys/types.h>
+ #include <utils/Compat.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /* Zip compression methods we support */
+ enum {
+@@ -215,6 +216,8 @@ int GetFileDescriptor(const ZipArchiveHandle handle);
+
+ const char* ErrorCodeString(int32_t error_code);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif // LIBZIPARCHIVE_ZIPARCHIVE_H_
+diff --git core/liblog/log_portability.h core/liblog/log_portability.h
+index 3ad2060..2b859c4 100644
+--- core/liblog/log_portability.h
++++ core/liblog/log_portability.h
+@@ -17,7 +17,6 @@
+ #ifndef _LIBLOG_PORTABILITY_H__
+ #define _LIBLOG_PORTABILITY_H__
+
+-#include <sys/cdefs.h>
+ #include <unistd.h>
+
+ /* Helpful private sys/cdefs.h like definitions */
+
+diff --git core/include/private/android_filesystem_config.h core/include/private/android_filesystem_config.h
+index c220a0c..d38f971 100644
+--- core/include/private/android_filesystem_config.h
++++ core/include/private/android_filesystem_config.h
+@@ -22,7 +22,6 @@
+ #ifndef _ANDROID_FILESYSTEM_CONFIG_H_
+ #define _ANDROID_FILESYSTEM_CONFIG_H_
+
+-#include <sys/cdefs.h>
+ #include <sys/types.h>
+ #include <stdint.h>
+
+@@ -230,7 +229,10 @@ struct fs_path_config {
+
+ /* Rules for directories and files has moved to system/code/libcutils/fs_config.c */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+
+ /*
+ * Used in:
+@@ -247,7 +249,9 @@ void fs_config(const char *path, int dir, const char *target_out_path,
+
+ ssize_t fs_config_generate(char *buffer, size_t length, const struct fs_path_config *pc);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif
+ #endif
+diff --git core/base/file.cpp core/base/file.cpp
+index da1adba..7ba6d23 100644
+--- core/base/file.cpp
++++ core/base/file.cpp
+@@ -111,7 +111,7 @@ bool WriteStringToFile(const std::string& content, const std::string& path,
+
+ bool WriteStringToFile(const std::string& content, const std::string& path) {
+ int flags = O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC | O_NOFOLLOW | O_BINARY;
+- int fd = TEMP_FAILURE_RETRY(open(path.c_str(), flags, DEFFILEMODE));
++ int fd = TEMP_FAILURE_RETRY(open(path.c_str(), flags, (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)));
+ if (fd == -1) {
+ return false;
+ }
+diff --git core/adb/sysdeps.h core/adb/sysdeps.h
+index 75dcc86..2dba172 100644
+--- core/adb/sysdeps.h
++++ core/adb/sysdeps.h
+@@ -757,18 +757,7 @@ static __inline__ int adb_thread_setname(const std::string& name) {
+ #ifdef __APPLE__
+ return pthread_setname_np(name.c_str());
+ #else
+- const char *s = name.c_str();
+-
+- // pthread_setname_np fails rather than truncating long strings.
+- const int max_task_comm_len = 16; // including the null terminator
+- if (name.length() > (max_task_comm_len - 1)) {
+- char buf[max_task_comm_len];
+- strncpy(buf, name.c_str(), sizeof(buf) - 1);
+- buf[sizeof(buf) - 1] = '\0';
+- s = buf;
+- }
+-
+- return pthread_setname_np(pthread_self(), s) ;
++ return 0;
+ #endif
+ }
+
+diff --git core/adb/diagnose_usb.cpp core/adb/diagnose_usb.cpp
+index 0f067b0..1138f8d 100644
+--- core/adb/diagnose_usb.cpp
++++ core/adb/diagnose_usb.cpp
+@@ -32,28 +32,7 @@ static const char kPermissionsHelpUrl[] = "http://developer.android.com/tools/de
+ // Returns a message describing any potential problems we find with udev, or nullptr if we can't
+ // find plugdev information (i.e. udev is not installed).
+ static const char* GetUdevProblem() {
+-#if defined(__linux__)
+- errno = 0;
+- group* plugdev_group = getgrnam("plugdev");
+-
+- if (plugdev_group == nullptr) {
+- if (errno != 0) {
+- perror("failed to read plugdev group info");
+- }
+- // We can't give any generally useful advice here, just let the caller print the help URL.
+- return nullptr;
+- }
+-
+- // getgroups(2) indicates that the group_member() may not check the egid so we check it
+- // additionally just to be sure.
+- if (group_member(plugdev_group->gr_gid) || getegid() == plugdev_group->gr_gid) {
+- // The user is in plugdev so the problem is likely with the udev rules.
+- return "verify udev rules";
+- }
+- return "udev requires plugdev group membership";
+-#else
+ return nullptr;
+-#endif
+ }
+
+ // Short help text must be a single line, and will look something like:
+diff --git core/fastboot/socket.cpp core/fastboot/socket.cpp
+index 14ecd93..aff905c 100644
+--- core/fastboot/socket.cpp
++++ core/fastboot/socket.cpp
+@@ -31,6 +31,8 @@
+ #include <android-base/errors.h>
+ #include <android-base/stringprintf.h>
+
++#include <sys/select.h>
++
+ Socket::Socket(cutils_socket_t sock) : sock_(sock) {}
+
+ Socket::~Socket() {