hurd: Fix missing __pthread_get_cleanup_stack symbol
Rework 57e1651557
("hurd: Avoid PLT ref for __pthread_get_cleanup_stack")
to keep the __pthread_get_cleanup_stack symbol.
* htl/pt-cleanup.c (__pthread_get_cleanup_stack): Rename to
___pthread_get_cleanup_stack.
(__pthread_get_cleanup_stack): Remove hidden def, add alias.
* htl/pt-exit.c (__pthread_exit): Use ___pthread_get_cleanup_stack
instead of __pthread_get_cleanup_stack.
* sysdeps/htl/pthread-functions.h [libpthread]
(__pthread_get_cleanup_stack): Remove hidden proto.
* sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Add
prototype.
* sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Add hidden
attribute.
* htl/pt-join.c (__pthread_get_cleanup_stack): Define to
___pthread_get_cleanup_stack.
This commit is contained in:
parent
8c9d53428e
commit
f96a85e0fe
13
ChangeLog
13
ChangeLog
|
@ -8,15 +8,10 @@
|
||||||
* sysdeps/mach/hurd/lseek.c: Include <errno.h>.
|
* sysdeps/mach/hurd/lseek.c: Include <errno.h>.
|
||||||
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Check that the value
|
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Check that the value
|
||||||
returned by __lseek64 can fit off_t, return EOVERFLOW otherwise.
|
returned by __lseek64 can fit off_t, return EOVERFLOW otherwise.
|
||||||
* htl/pt-cleanup.c (___pthread_get_cleanup_stack): Rename to
|
* sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Add hidden
|
||||||
__pthread_get_cleanup_stack.
|
attribute.
|
||||||
(__pthread_get_cleanup_stack): Remove alias, add hidden def.
|
* htl/pt-join.c (__pthread_get_cleanup_stack): Define to
|
||||||
* htl/pt-exit.c (__pthread_exit): Use __pthread_get_cleanup_stack
|
___pthread_get_cleanup_stack.
|
||||||
instead of ___pthread_get_cleanup_stack.
|
|
||||||
* sysdeps/htl/pthread-functions.h [libpthread]
|
|
||||||
(__pthread_get_cleanup_stack): Add hidden proto.
|
|
||||||
* sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Remove
|
|
||||||
prototype.
|
|
||||||
* sysdeps/mach/hurd/localplt.data (ld.so): Make ref to __open optional.
|
* sysdeps/mach/hurd/localplt.data (ld.so): Make ref to __open optional.
|
||||||
* sysdeps/mach/include/mach-shortcuts-hidden.h: New file.
|
* sysdeps/mach/include/mach-shortcuts-hidden.h: New file.
|
||||||
* mach/shortcut.awk: Make syscall stubs include
|
* mach/shortcut.awk: Make syscall stubs include
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
#include <pt-internal.h>
|
#include <pt-internal.h>
|
||||||
|
|
||||||
struct __pthread_cancelation_handler **
|
struct __pthread_cancelation_handler **
|
||||||
__pthread_get_cleanup_stack (void)
|
___pthread_get_cleanup_stack (void)
|
||||||
{
|
{
|
||||||
return &_pthread_self ()->cancelation_handlers;
|
return &_pthread_self ()->cancelation_handlers;
|
||||||
}
|
}
|
||||||
libc_hidden_def (__pthread_get_cleanup_stack)
|
strong_alias (___pthread_get_cleanup_stack, __pthread_get_cleanup_stack)
|
||||||
|
|
|
@ -41,7 +41,7 @@ __pthread_exit (void *status)
|
||||||
disabled. */
|
disabled. */
|
||||||
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate);
|
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate);
|
||||||
|
|
||||||
for (handlers = __pthread_get_cleanup_stack ();
|
for (handlers = ___pthread_get_cleanup_stack ();
|
||||||
*handlers != NULL;
|
*handlers != NULL;
|
||||||
*handlers = (*handlers)->__next)
|
*handlers = (*handlers)->__next)
|
||||||
(*handlers)->__handler ((*handlers)->__arg);
|
(*handlers)->__handler ((*handlers)->__arg);
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
|
|
||||||
#include <pt-internal.h>
|
#include <pt-internal.h>
|
||||||
|
|
||||||
|
#define __pthread_get_cleanup_stack ___pthread_get_cleanup_stack
|
||||||
|
|
||||||
/* Make calling thread wait for termination of thread THREAD. Return
|
/* Make calling thread wait for termination of thread THREAD. Return
|
||||||
the exit status of the thread in *STATUS. */
|
the exit status of the thread in *STATUS. */
|
||||||
int
|
int
|
||||||
|
|
|
@ -60,9 +60,6 @@ pthread_t __pthread_self (void);
|
||||||
int __pthread_setcancelstate (int, int *);
|
int __pthread_setcancelstate (int, int *);
|
||||||
int __pthread_setcanceltype (int, int *);
|
int __pthread_setcanceltype (int, int *);
|
||||||
struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void);
|
struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void);
|
||||||
#if IS_IN (libpthread)
|
|
||||||
hidden_proto (__pthread_get_cleanup_stack)
|
|
||||||
#endif
|
|
||||||
int __pthread_once (pthread_once_t *, void (*) (void));
|
int __pthread_once (pthread_once_t *, void (*) (void));
|
||||||
int __pthread_rwlock_rdlock (pthread_rwlock_t *);
|
int __pthread_rwlock_rdlock (pthread_rwlock_t *);
|
||||||
int __pthread_rwlock_wrlock (pthread_rwlock_t *);
|
int __pthread_rwlock_wrlock (pthread_rwlock_t *);
|
||||||
|
|
|
@ -64,6 +64,7 @@ int __pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize);
|
||||||
int __pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
|
int __pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
|
||||||
size_t __stacksize);
|
size_t __stacksize);
|
||||||
int __pthread_attr_getstack (const pthread_attr_t *, void **, size_t *);
|
int __pthread_attr_getstack (const pthread_attr_t *, void **, size_t *);
|
||||||
|
struct __pthread_cancelation_handler **___pthread_get_cleanup_stack (void) attribute_hidden;
|
||||||
|
|
||||||
#if IS_IN (libpthread)
|
#if IS_IN (libpthread)
|
||||||
hidden_proto (__pthread_key_create)
|
hidden_proto (__pthread_key_create)
|
||||||
|
|
Loading…
Reference in New Issue