diff options
author | Shawn Best <sbest@blueshiftinc.com> | 2014-11-08 01:41:49 +0000 |
---|---|---|
committer | Shawn Best <sbest@blueshiftinc.com> | 2014-11-08 01:41:49 +0000 |
commit | 8da0bf3b7cf3670095d7ce9eac885dfc5976720e (patch) | |
tree | 05ff1512e3eb73a6f0e0387105bba0df772c671e /lldb/source | |
parent | ed9825848281163a14c55f48def81b6e04ef7ffe (diff) | |
download | bcm5719-llvm-8da0bf3b7cf3670095d7ce9eac885dfc5976720e.tar.gz bcm5719-llvm-8da0bf3b7cf3670095d7ce9eac885dfc5976720e.zip |
LLGS Android target support - for Andy Chien : http://reviews.llvm.org/D6166
llvm-svn: 221570
Diffstat (limited to 'lldb/source')
-rw-r--r-- | lldb/source/CMakeLists.txt | 176 | ||||
-rw-r--r-- | lldb/source/Core/ConnectionSharedMemory.cpp | 2 | ||||
-rw-r--r-- | lldb/source/DataFormatters/CXXFormatterFunctions.cpp | 3 | ||||
-rw-r--r-- | lldb/source/Host/CMakeLists.txt | 28 | ||||
-rw-r--r-- | lldb/source/Host/common/File.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Host/common/Host.cpp | 30 | ||||
-rw-r--r-- | lldb/source/Host/common/Socket.cpp | 8 | ||||
-rw-r--r-- | lldb/source/Host/linux/Host.cpp | 3 | ||||
-rw-r--r-- | lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp | 4 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 7 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp | 7 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Utility/PseudoTerminal.cpp | 2 |
14 files changed, 70 insertions, 206 deletions
diff --git a/lldb/source/CMakeLists.txt b/lldb/source/CMakeLists.txt index 999625784a2..5e2ac8b9cd5 100644 --- a/lldb/source/CMakeLists.txt +++ b/lldb/source/CMakeLists.txt @@ -31,182 +31,8 @@ add_subdirectory(Symbol) add_subdirectory(Target) add_subdirectory(Utility) -set( LLDB_USED_LIBS - lldbBreakpoint - lldbCommands - lldbDataFormatters - lldbHost - lldbCore - lldbExpression - lldbInterpreter - lldbSymbol - lldbTarget - lldbUtility +include(../cmake/LLDBDependencies.cmake) - # Plugins - lldbPluginDisassemblerLLVM - lldbPluginSymbolFileDWARF - lldbPluginSymbolFileSymtab - lldbPluginDynamicLoaderStatic - lldbPluginDynamicLoaderPosixDYLD - lldbPluginDynamicLoaderHexagonDYLD - - lldbPluginObjectFileMachO - lldbPluginObjectFileELF - lldbPluginObjectFileJIT - lldbPluginSymbolVendorELF - lldbPluginObjectContainerBSDArchive - lldbPluginObjectContainerMachOArchive - lldbPluginProcessGDBRemote - lldbPluginProcessMachCore - lldbPluginProcessUtility - lldbPluginPlatformGDB - lldbPluginPlatformFreeBSD - lldbPluginPlatformKalimba - lldbPluginPlatformLinux - lldbPluginPlatformPOSIX - lldbPluginPlatformWindows - lldbPluginObjectFileMachO - lldbPluginObjectContainerMachOArchive - lldbPluginObjectContainerBSDArchive - lldbPluginPlatformMacOSX - lldbPluginDynamicLoaderMacOSXDYLD - lldbPluginUnwindAssemblyInstEmulation - lldbPluginUnwindAssemblyX86 - lldbPluginAppleObjCRuntime - lldbPluginCXXItaniumABI - lldbPluginABIMacOSX_arm - lldbPluginABIMacOSX_arm64 - lldbPluginABIMacOSX_i386 - lldbPluginABISysV_x86_64 - lldbPluginABISysV_hexagon - lldbPluginABISysV_ppc - lldbPluginABISysV_ppc64 - lldbPluginInstructionARM - lldbPluginInstructionARM64 - lldbPluginObjectFilePECOFF - lldbPluginOSPython - lldbPluginMemoryHistoryASan - lldbPluginInstrumentationRuntimeAddressSanitizer - ) - -# Need to export the API in the liblldb.dll for Windows -# The lldbAPI source files are added directly in liblldb -if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" ) - list(APPEND LLDB_USED_LIBS - lldbAPI - ) -endif () - -# Windows-only libraries -if ( CMAKE_SYSTEM_NAME MATCHES "Windows" ) - list(APPEND LLDB_USED_LIBS - lldbPluginProcessWindows - lldbPluginProcessElfCore - lldbPluginJITLoaderGDB - Ws2_32 - ) -endif () - -# Linux-only libraries -if ( CMAKE_SYSTEM_NAME MATCHES "Linux" ) - list(APPEND LLDB_USED_LIBS - lldbPluginProcessLinux - lldbPluginProcessPOSIX - lldbPluginProcessElfCore - lldbPluginJITLoaderGDB - ) -endif () - -# FreeBSD-only libraries -if ( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" ) - list(APPEND LLDB_USED_LIBS - lldbPluginProcessFreeBSD - lldbPluginProcessPOSIX - lldbPluginProcessElfCore - lldbPluginJITLoaderGDB - ) -endif () - -# Darwin-only libraries -if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" ) - set(LLDB_VERS_GENERATED_FILE ${LLDB_BINARY_DIR}/source/LLDB_vers.c) - add_custom_command(OUTPUT ${LLDB_VERS_GENERATED_FILE} - COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl - ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj liblldb_core - > ${LLDB_VERS_GENERATED_FILE}) - - set_source_files_properties(${LLDB_VERS_GENERATED_FILE} PROPERTIES GENERATED 1) - list(APPEND LLDB_USED_LIBS - lldbPluginDynamicLoaderDarwinKernel - lldbPluginProcessMacOSXKernel - lldbPluginSymbolVendorMacOSX - lldbPluginSystemRuntimeMacOSX - lldbPluginProcessElfCore - lldbPluginJITLoaderGDB - ) -endif() - -set( CLANG_USED_LIBS - clangAnalysis - clangAST - clangBasic - clangCodeGen - clangDriver - clangEdit - clangFrontend - clangLex - clangParse - clangRewrite - clangRewriteFrontend - clangSema - clangSerialization - ) - -set(LLDB_SYSTEM_LIBS) -if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") - list(APPEND LLDB_SYSTEM_LIBS edit panel ncurses) -endif() -# On FreeBSD backtrace() is provided by libexecinfo, not libc. -if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - list(APPEND LLDB_SYSTEM_LIBS execinfo) -endif() - -if (NOT LLDB_DISABLE_PYTHON) - list(APPEND LLDB_SYSTEM_LIBS ${PYTHON_LIBRARIES}) -endif() - -list(APPEND LLDB_SYSTEM_LIBS ${system_libs}) - -set( LLVM_LINK_COMPONENTS - ${LLVM_TARGETS_TO_BUILD} - interpreter - asmparser - bitreader - bitwriter - codegen - ipo - selectiondag - bitreader - mc - mcjit - core - mcdisassembler - executionengine - option - ) - - -if ( NOT LLDB_DISABLE_PYTHON ) - set(LLDB_WRAP_PYTHON ${LLDB_BINARY_DIR}/scripts/LLDBWrapPython.cpp) - - set_source_files_properties(${LLDB_WRAP_PYTHON} PROPERTIES GENERATED 1) - if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND - NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") - set_property(SOURCE ${LLDB_WRAP_PYTHON} - APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-sequence-point") - endif () -endif() set(SHARED_LIBRARY 1) if ( CMAKE_SYSTEM_NAME MATCHES "Windows" ) diff --git a/lldb/source/Core/ConnectionSharedMemory.cpp b/lldb/source/Core/ConnectionSharedMemory.cpp index 5db3d687cdb..1cbee20cd94 100644 --- a/lldb/source/Core/ConnectionSharedMemory.cpp +++ b/lldb/source/Core/ConnectionSharedMemory.cpp @@ -6,6 +6,7 @@ // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// +#ifndef __ANDROID_NDK__ #include "lldb/Core/ConnectionSharedMemory.h" @@ -156,3 +157,4 @@ ConnectionSharedMemory::Open (bool create, const char *name, size_t size, Error return eConnectionStatusError; } +#endif // __ANDROID_NDK__ diff --git a/lldb/source/DataFormatters/CXXFormatterFunctions.cpp b/lldb/source/DataFormatters/CXXFormatterFunctions.cpp index ad040bbfb68..2a8ca2d48e6 100644 --- a/lldb/source/DataFormatters/CXXFormatterFunctions.cpp +++ b/lldb/source/DataFormatters/CXXFormatterFunctions.cpp @@ -27,6 +27,9 @@ #include "lldb/Utility/ProcessStructReader.h" #include <algorithm> +#if __ANDROID_NDK__ +#include <sys/types.h> +#endif using namespace lldb; using namespace lldb_private; diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt index 85211f9f017..e77b535b796 100644 --- a/lldb/source/Host/CMakeLists.txt +++ b/lldb/source/Host/CMakeLists.txt @@ -5,7 +5,6 @@ endmacro() add_host_subdirectory(common common/Condition.cpp - common/Editline.cpp common/File.cpp common/FileCache.cpp common/FileSpec.cpp @@ -33,6 +32,12 @@ add_host_subdirectory(common common/TimeValue.cpp ) +if (NOT __ANDROID_NDK__) +add_host_subdirectory(common + common/Editline.cpp + ) +endif() + add_host_subdirectory(posix posix/ConnectionFileDescriptorPosix.cpp ) @@ -81,12 +86,21 @@ else() ) elseif (CMAKE_SYSTEM_NAME MATCHES "Linux") - add_host_subdirectory(linux - linux/Host.cpp - linux/HostInfoLinux.cpp - linux/HostThreadLinux.cpp - linux/ThisThread.cpp - ) + if (__ANDROID_NDK__) + add_host_subdirectory(android + linux/Host.cpp + linux/HostInfoLinux.cpp + linux/HostThreadLinux.cpp + linux/ThisThread.cpp + ) + else() + add_host_subdirectory(linux + linux/Host.cpp + linux/HostInfoLinux.cpp + linux/HostThreadLinux.cpp + linux/ThisThread.cpp + ) + endif() elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") add_host_subdirectory(freebsd freebsd/Host.cpp diff --git a/lldb/source/Host/common/File.cpp b/lldb/source/Host/common/File.cpp index 50513af2dc1..c3c77835ce8 100644 --- a/lldb/source/Host/common/File.cpp +++ b/lldb/source/Host/common/File.cpp @@ -896,7 +896,7 @@ File::CalculateInteractiveAndTerminal () { m_is_interactive = eLazyBoolNo; m_is_real_terminal = eLazyBoolNo; -#ifdef _WIN32 +#if (defined(_WIN32) || defined(__ANDROID_NDK__)) if (_isatty(fd)) { m_is_interactive = eLazyBoolYes; diff --git a/lldb/source/Host/common/Host.cpp b/lldb/source/Host/common/Host.cpp index 33729abb2c6..c6a1b6e6fa7 100644 --- a/lldb/source/Host/common/Host.cpp +++ b/lldb/source/Host/common/Host.cpp @@ -30,7 +30,7 @@ #endif #if defined (__linux__) || defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__) || defined(__NetBSD__) -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) #include <spawn.h> #endif #include <sys/wait.h> @@ -111,7 +111,7 @@ Host::StartMonitoringChildProcess(Host::MonitorChildProcessCallback callback, vo return ThreadLauncher::LaunchThread(thread_name, MonitorChildProcessThreadFunction, info_ptr, NULL); } -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) //------------------------------------------------------------------ // Scoped class that will disable thread canceling when it is // constructed, and exception safely restore the previous value it @@ -126,7 +126,6 @@ public: int err = ::pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &m_old_state); if (err != 0) m_old_state = -1; - } ~ScopedPThreadCancelDisabler() @@ -139,7 +138,7 @@ public: private: int m_old_state; // Save the old cancelability state. }; -#endif +#endif // __ANDROID_NDK__ static thread_result_t MonitorChildProcessThreadFunction (void *arg) @@ -173,15 +172,14 @@ MonitorChildProcessThreadFunction (void *arg) log->Printf("%s ::wait_pid (pid = %" PRIi32 ", &status, options = %i)...", function, pid, options); // Wait for all child processes -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) ::pthread_testcancel (); #endif // Get signals from all children with same process group of pid const ::pid_t wait_pid = ::waitpid (pid, &status, options); -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) ::pthread_testcancel (); #endif - if (wait_pid == -1) { if (errno == EINTR) @@ -226,7 +224,7 @@ MonitorChildProcessThreadFunction (void *arg) // Scope for pthread_cancel_disabler { -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) ScopedPThreadCancelDisabler pthread_cancel_disabler; #endif @@ -316,6 +314,8 @@ Host::GetCurrentThreadID() return thread_self; #elif defined(__FreeBSD__) return lldb::tid_t(pthread_getthreadid_np()); +#elif defined(__ANDROID_NDK__) + return lldb::tid_t(gettid()); #elif defined(__linux__) return lldb::tid_t(syscall(SYS_gettid)); #else @@ -456,7 +456,7 @@ FileSpec Host::GetModuleFileSpecForHostAddress (const void *host_addr) { FileSpec module_filespec; -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) Dl_info info; if (::dladdr (host_addr, &info)) { @@ -694,14 +694,13 @@ Host::RunShellCommand (const char *command, // systems #if defined (__APPLE__) || defined (__linux__) || defined (__FreeBSD__) || defined (__GLIBC__) || defined(__NetBSD__) - // this method needs to be visible to macosx/Host.cpp and // common/Host.cpp. short Host::GetPosixspawnFlags(const ProcessLaunchInfo &launch_info) { -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) short flags = POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK; #if defined (__APPLE__) @@ -745,7 +744,7 @@ Host::GetPosixspawnFlags(const ProcessLaunchInfo &launch_info) #endif // #if defined (__APPLE__) return flags; #else - assert(false *&& "Host::GetPosixspawnFlags() not supported on Android"); + assert(false && "Host::GetPosixspawnFlags() not supported on Android"); return 0; #endif } @@ -754,7 +753,7 @@ Error Host::LaunchProcessPosixSpawn(const char *exe_path, const ProcessLaunchInfo &launch_info, lldb::pid_t &pid) { Error error; -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_HOST | LIBLLDB_LOG_PROCESS)); posix_spawnattr_t attr; @@ -954,7 +953,7 @@ Host::LaunchProcessPosixSpawn(const char *exe_path, const ProcessLaunchInfo &lau bool Host::AddPosixSpawnFileAction(void *_file_actions, const FileAction *info, Log *log, Error &error) { -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(__ANDROID_NDK__) if (info == NULL) return false; @@ -1022,7 +1021,6 @@ Host::AddPosixSpawnFileAction(void *_file_actions, const FileAction *info, Log * return false; #endif } - #endif // LaunchProcedssPosixSpawn: Apple, Linux, FreeBSD and other GLIBC systems #if defined(__linux__) || defined(__FreeBSD__) || defined(__GLIBC__) || defined(__NetBSD__) || defined(_WIN32) @@ -1049,11 +1047,9 @@ Host::LaunchProcess (ProcessLaunchInfo &launch_info) return error; } - #endif // defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) #ifndef _WIN32 - void Host::Kill(lldb::pid_t pid, int signo) { diff --git a/lldb/source/Host/common/Socket.cpp b/lldb/source/Host/common/Socket.cpp index e0c36942a04..ba99bdfdf83 100644 --- a/lldb/source/Host/common/Socket.cpp +++ b/lldb/source/Host/common/Socket.cpp @@ -18,6 +18,14 @@ #include "lldb/Host/TimeValue.h" #include "lldb/Interpreter/Args.h" +#ifdef __ANDROID_NDK__ +#include <linux/tcp.h> +#include <bits/error_constants.h> +#include <asm-generic/errno-base.h> +#include <errno.h> +#include <arpa/inet.h> +#endif + #ifndef LLDB_DISABLE_POSIX #include <arpa/inet.h> #include <netdb.h> diff --git a/lldb/source/Host/linux/Host.cpp b/lldb/source/Host/linux/Host.cpp index 175624dd3e5..cd2d481426e 100644 --- a/lldb/source/Host/linux/Host.cpp +++ b/lldb/source/Host/linux/Host.cpp @@ -26,6 +26,9 @@ #include "lldb/Target/Process.h" #include "lldb/Host/Host.h" +#ifdef __ANDROID_NDK__ +#include "lldb/Host/android/Android.h" +#endif #include "lldb/Core/DataBufferHeap.h" #include "lldb/Core/DataExtractor.h" diff --git a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp index 0263c23ce30..1e2a0c721ff 100644 --- a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp +++ b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp @@ -9,7 +9,7 @@ #include "ObjectContainerBSDArchive.h" -#ifdef _WIN32 +#if defined(_WIN32) || defined(__ANDROID_NDK__) // Defines from ar, missing on Windows #define ARMAG "!<arch>\n" #define SARMAG 8 diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp index 7dc0a205146..1519c5b3789 100644 --- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp +++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp @@ -820,7 +820,7 @@ PlatformLinux::LaunchNativeProcess ( lldb_private::NativeProcessProtocol::NativeDelegate &native_delegate, NativeProcessProtocolSP &process_sp) { -#if !defined(__linux__) +#if !defined(__linux__) || defined(__ANDROID_NDK__) return Error("only implemented on Linux hosts"); #else if (!IsHost ()) @@ -857,7 +857,7 @@ PlatformLinux::AttachNativeProcess (lldb::pid_t pid, lldb_private::NativeProcessProtocol::NativeDelegate &native_delegate, NativeProcessProtocolSP &process_sp) { -#if !defined(__linux__) +#if !defined(__linux__) || defined(__ANDROID_NDK__) return Error("only implemented on Linux hosts"); #else if (!IsHost ()) diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 2810b701c5c..abda9baecdb 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -18,7 +18,13 @@ #include <stdint.h> #include <unistd.h> #include <linux/unistd.h> +#if defined(__ANDROID_NDK__) && defined (__arm__) +#include <linux/personality.h> +#include <linux/user.h> +#else #include <sys/personality.h> +#include <sys/user.h> +#endif #ifndef __ANDROID__ #include <sys/procfs.h> #endif @@ -27,7 +33,6 @@ #include <sys/socket.h> #include <sys/syscall.h> #include <sys/types.h> -#include <sys/user.h> #include <sys/wait.h> #if defined (__arm64__) || defined (__aarch64__) diff --git a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp index 5bc8c51d74c..3efeb5de627 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp +++ b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp @@ -16,7 +16,13 @@ #include <stdint.h> #include <unistd.h> #include <elf.h> +#if defined(__ANDROID_NDK__) && defined (__arm__) +#include <linux/personality.h> +#include <linux/user.h> +#else #include <sys/personality.h> +#include <sys/user.h> +#endif #ifndef __ANDROID__ #include <sys/procfs.h> #endif @@ -25,7 +31,6 @@ #include <sys/socket.h> #include <sys/syscall.h> #include <sys/types.h> -#include <sys/user.h> #include <sys/wait.h> // C++ Includes diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp index 5579b0b64fc..a2ab67438b7 100644 --- a/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp +++ b/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp @@ -150,7 +150,7 @@ RegisterContextMacOSXFrameBackchain::ReadRegister (const RegisterInfo *reg_info, // TOOD: need a better way to detect when "long double" types are // the same bytes size as "double" #if !defined(__arm__) && !defined(__arm64__) && !defined(__aarch64__) && !defined(_MSC_VER) && \ - !defined(__mips__) && !defined(__powerpc__) + !defined(__mips__) && !defined(__powerpc__) && !defined(__ANDROID_NDK__) case sizeof (long double): if (sizeof (long double) == sizeof(uint32_t)) { diff --git a/lldb/source/Utility/PseudoTerminal.cpp b/lldb/source/Utility/PseudoTerminal.cpp index f60c00aac02..e90955d37d4 100644 --- a/lldb/source/Utility/PseudoTerminal.cpp +++ b/lldb/source/Utility/PseudoTerminal.cpp @@ -31,6 +31,8 @@ char *ptsname(int fd) { return 0; } pid_t fork(void) { return 0; } pid_t setsid(void) { return 0; } +#elif defined(__ANDROID_NDK__) +#include "lldb/Host/android/Android.h" #endif using namespace lldb_utility; |