Issue #1053 - Remove android support from mozglue

Yes, I checked for unsaved files this time...
This commit is contained in:
Matt A. Tobin 2020-02-22 21:16:37 -05:00 committed by Roy Tam
commit a890ecd06f
26 changed files with 19 additions and 2748 deletions

View file

@ -59,12 +59,6 @@ static CriticalAddress gCriticalAddress;
extern MOZ_EXPORT void* __libc_stack_end; // from ld-linux.so
#endif
#ifdef ANDROID
#include <algorithm>
#include <unistd.h>
#include <pthread.h>
#endif
#if MOZ_STACKWALK_SUPPORTS_MACOSX
#include <pthread.h>
#include <sys/errno.h>
@ -931,31 +925,6 @@ MozStackWalk(MozWalkStackCallback aCallback, uint32_t aSkipFrames,
stackEnd = __libc_stack_end;
#elif defined(XP_DARWIN)
stackEnd = pthread_get_stackaddr_np(pthread_self());
#elif defined(ANDROID)
pthread_attr_t sattr;
pthread_attr_init(&sattr);
pthread_getattr_np(pthread_self(), &sattr);
void* stackBase = stackEnd = nullptr;
size_t stackSize = 0;
if (gettid() != getpid()) {
// bionic's pthread_attr_getstack doesn't tell the truth for the main
// thread (see bug 846670). So don't use it for the main thread.
if (!pthread_attr_getstack(&sattr, &stackBase, &stackSize)) {
stackEnd = static_cast<char*>(stackBase) + stackSize;
} else {
stackEnd = nullptr;
}
}
if (!stackEnd) {
// So consider the current frame pointer + an arbitrary size of 8MB
// (modulo overflow ; not really arbitrary as it's the default stack
// size for the main thread) if pthread_attr_getstack failed for
// some reason (or was skipped).
static const uintptr_t kMaxStackSize = 8 * 1024 * 1024;
uintptr_t maxStackStart = uintptr_t(-1) - kMaxStackSize;
uintptr_t stackStart = std::max(maxStackStart, uintptr_t(bp));
stackEnd = reinterpret_cast<void*>(stackStart + kMaxStackSize);
}
#else
# error Unsupported configuration
#endif