Merge "Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr"

This commit is contained in:
Calin Juravle 2014-03-11 10:49:46 +00:00 committed by Gerrit Code Review
commit 40c31ade2c
3 changed files with 14 additions and 20 deletions

View File

@ -29,6 +29,7 @@
// This file perpetuates the mistakes of the past, but only for 32-bit targets.
#if !defined(__LP64__)
#include <pthread.h>
#include <stdlib.h>
#include <sys/resource.h>
#include <sys/time.h>
@ -73,4 +74,17 @@ extern "C" void memswap(void* m1, void* m2, size_t n) {
}
}
extern "C" int pthread_attr_setstackaddr(pthread_attr_t*, void*) {
// This was removed from POSIX.1-2008, and is not implemented on bionic.
// Needed for ABI compatibility with the NDK.
return ENOSYS;
}
extern "C" int pthread_attr_getstackaddr(const pthread_attr_t* attr, void** stack_addr) {
// This was removed from POSIX.1-2008.
// Needed for ABI compatibility with the NDK.
*stack_addr = (char*)attr->stack_base + attr->stack_size;
return 0;
}
#endif

View File

@ -94,22 +94,6 @@ int pthread_attr_getstacksize(const pthread_attr_t* attr, size_t* stack_size) {
return 0;
}
#if !defined(__LP64__)
// TODO: this exists only for backward binary compatibility on 32 bit platforms.
extern "C" int pthread_attr_setstackaddr(pthread_attr_t*, void*) {
// This was removed from POSIX.1-2008, and is not implemented on bionic.
// Needed for ABI compatibility with the NDK.
return ENOSYS;
}
extern "C" int pthread_attr_getstackaddr(const pthread_attr_t* attr, void** stack_addr) {
// This was removed from POSIX.1-2008.
// Needed for ABI compatibility with the NDK.
*stack_addr = (char*)attr->stack_base + attr->stack_size;
return 0;
}
#endif // !defined(__LP64__)
int pthread_attr_setstack(pthread_attr_t* attr, void* stack_base, size_t stack_size) {
if ((stack_size & (PAGE_SIZE - 1) || stack_size < PTHREAD_STACK_MIN)) {
return EINVAL;

View File

@ -234,10 +234,6 @@ extern void __pthread_cleanup_pop(__pthread_cleanup_t*, int);
#if !defined(__LP64__)
/* Deprecated by POSIX. TODO: support for LP64 but add deprecated attribute instead? */
int pthread_attr_getstackaddr(const pthread_attr_t*, void**) __nonnull((1, 2)); /* deprecated */
int pthread_attr_setstackaddr(pthread_attr_t*, void*) __nonnull((1)); /* deprecated */
// Bionic additions that are deprecated even in the 32-bit ABI.
//
// TODO: Remove them once chromium_org / NFC have switched over.