[Lldb-commits] [lldb] ff17a41 - [lldb] Remove support and workarounds for Android 4 and older (#124047)
via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 23 09:54:38 PST 2025
Author: Brad Smith
Date: 2025-01-23T12:54:35-05:00
New Revision: ff17a4136dedba004d901a571c4fae501affd051
URL: https://github.com/llvm/llvm-project/commit/ff17a4136dedba004d901a571c4fae501affd051
DIFF: https://github.com/llvm/llvm-project/commit/ff17a4136dedba004d901a571c4fae501affd051.diff
LOG: [lldb] Remove support and workarounds for Android 4 and older (#124047)
Added:
Modified:
lldb/cmake/modules/LLDBConfig.cmake
lldb/include/lldb/Host/Time.h
lldb/source/Host/CMakeLists.txt
lldb/source/Host/common/Socket.cpp
lldb/source/Host/posix/HostInfoPosix.cpp
lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
Removed:
lldb/source/Host/android/LibcGlue.cpp
################################################################################
diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index 9bb37f5967d4f3..747f7e6038181c 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -306,9 +306,4 @@ else()
set(LLDB_CAN_USE_DEBUGSERVER OFF)
endif()
-if ((CMAKE_SYSTEM_NAME MATCHES "Android") AND LLVM_BUILD_STATIC AND
- ((ANDROID_ABI MATCHES "armeabi") OR (ANDROID_ABI MATCHES "mips")))
- add_definitions(-DANDROID_USE_ACCEPT_WORKAROUND)
-endif()
-
include(LLDBGenerateConfig)
diff --git a/lldb/include/lldb/Host/Time.h b/lldb/include/lldb/Host/Time.h
index aee4c43247c5a3..2ca5a4026884b7 100644
--- a/lldb/include/lldb/Host/Time.h
+++ b/lldb/include/lldb/Host/Time.h
@@ -11,15 +11,6 @@
#ifndef LLDB_HOST_TIME_H
#define LLDB_HOST_TIME_H
-#ifdef __ANDROID__
-#include <android/api-level.h>
-#endif
-
-#if defined(__ANDROID_API__) && __ANDROID_API__ < 21
-#include <time64.h>
-extern time_t timegm(struct tm *t);
-#else
#include <ctime>
-#endif
#endif // LLDB_HOST_TIME_H
diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt
index e0cd8569bf9575..cdfb6184f2219e 100644
--- a/lldb/source/Host/CMakeLists.txt
+++ b/lldb/source/Host/CMakeLists.txt
@@ -113,7 +113,6 @@ else()
if (CMAKE_SYSTEM_NAME MATCHES "Android")
add_host_subdirectory(android
android/HostInfoAndroid.cpp
- android/LibcGlue.cpp
)
endif()
elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
diff --git a/lldb/source/Host/android/LibcGlue.cpp b/lldb/source/Host/android/LibcGlue.cpp
deleted file mode 100644
index 877d735823feee..00000000000000
--- a/lldb/source/Host/android/LibcGlue.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//===-- LibcGlue.cpp ------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// This files adds functions missing from libc on earlier versions of Android
-
-#include <android/api-level.h>
-
-#include <sys/syscall.h>
-
-#if __ANDROID_API__ < 21
-
-#include <csignal>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include "lldb/Host/Time.h"
-
-time_t timegm(struct tm *t) { return (time_t)timegm64(t); }
-
-int posix_openpt(int flags) { return open("/dev/ptmx", flags); }
-
-#endif
diff --git a/lldb/source/Host/common/Socket.cpp b/lldb/source/Host/common/Socket.cpp
index 0ccff41a552068..296c2273ba419c 100644
--- a/lldb/source/Host/common/Socket.cpp
+++ b/lldb/source/Host/common/Socket.cpp
@@ -472,23 +472,7 @@ Status Socket::Accept(const Timeout<std::micro> &timeout, Socket *&socket) {
NativeSocket Socket::AcceptSocket(NativeSocket sockfd, struct sockaddr *addr,
socklen_t *addrlen, Status &error) {
error.Clear();
-#if defined(ANDROID_USE_ACCEPT_WORKAROUND)
- // Hack:
- // This enables static linking lldb-server to an API 21 libc, but still
- // having it run on older devices. It is necessary because API 21 libc's
- // implementation of accept() uses the accept4 syscall(), which is not
- // available in older kernels. Using an older libc would fix this issue, but
- // introduce other ones, as the old libraries were quite buggy.
- int fd = syscall(__NR_accept, sockfd, addr, addrlen);
- if (fd >= 0) {
- int flags = ::fcntl(fd, F_GETFD);
- if (flags != -1 && ::fcntl(fd, F_SETFD, flags | FD_CLOEXEC) != -1)
- return fd;
- SetLastError(error);
- close(fd);
- }
- return fd;
-#elif defined(SOCK_CLOEXEC) && defined(HAVE_ACCEPT4)
+#if defined(SOCK_CLOEXEC) && defined(HAVE_ACCEPT4)
int flags = SOCK_CLOEXEC;
NativeSocket fd = llvm::sys::RetryAfterSignal(
static_cast<NativeSocket>(-1), ::accept4, sockfd, addr, addrlen, flags);
diff --git a/lldb/source/Host/posix/HostInfoPosix.cpp b/lldb/source/Host/posix/HostInfoPosix.cpp
index 193f584900b632..23ba3177de317a 100644
--- a/lldb/source/Host/posix/HostInfoPosix.cpp
+++ b/lldb/source/Host/posix/HostInfoPosix.cpp
@@ -86,13 +86,6 @@ std::optional<std::string> HostInfoPosix::GetOSBuildString() {
return std::string(un.release);
}
-#ifdef __ANDROID__
-#include <android/api-level.h>
-#endif
-#if defined(__ANDROID_API__) && __ANDROID_API__ < 21
-#define USE_GETPWUID
-#endif
-
namespace {
class PosixUserIDResolver : public UserIDResolver {
protected:
@@ -107,14 +100,6 @@ struct PasswdEntry {
};
static std::optional<PasswdEntry> GetPassword(id_t uid) {
-#ifdef USE_GETPWUID
- // getpwuid_r is missing from android-9
- // The caller should provide some thread safety by making sure no one calls
- // this function concurrently, because using getpwuid is ultimately not
- // thread-safe as we don't know who else might be calling it.
- if (auto *user_info_ptr = ::getpwuid(uid))
- return PasswdEntry{user_info_ptr->pw_name, user_info_ptr->pw_shell};
-#else
struct passwd user_info;
struct passwd *user_info_ptr = &user_info;
char user_buffer[PATH_MAX];
@@ -124,7 +109,6 @@ static std::optional<PasswdEntry> GetPassword(id_t uid) {
user_info_ptr) {
return PasswdEntry{user_info_ptr->pw_name, user_info_ptr->pw_shell};
}
-#endif
return std::nullopt;
}
diff --git a/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp b/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
index 7b8b42a4b7fe07..22bf698c71716e 100644
--- a/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
+++ b/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
@@ -25,13 +25,10 @@
#include <sstream>
#ifdef __ANDROID__
-#include <android/api-level.h>
#define PT_TRACE_ME PTRACE_TRACEME
#endif
-#if defined(__ANDROID_API__) && __ANDROID_API__ < 15
-#include <linux/personality.h>
-#elif defined(__linux__)
+#if defined(__linux__)
#include <sys/personality.h>
#endif
More information about the lldb-commits
mailing list