Merge "Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr"
This commit is contained in:
commit
40c31ade2c
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user