1 When PAM is enabled, openssh makes its own static versions of pthreads
2 functions. But when built with a uclibc toolchain, pthreads.h gets
3 indirectly included. The clashing exported and static definitions of
4 the pthreads functions then cause a compile error. This patch fixes
5 the problem by changing the static pthread function names with macros
6 when the static functions are defined.
8 Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
10 diff -urN openssh-6.1p1.orig/auth-pam.c openssh-6.1p1/auth-pam.c
11 --- openssh-6.1p1.orig/auth-pam.c 2009-07-12 08:07:21.000000000 -0400
12 +++ openssh-6.1p1/auth-pam.c 2012-09-15 19:49:47.677288199 -0400
14 sigdie("PAM: authentication thread exited uncleanly");
17 +#define pthread_exit pthread_exit_AVOID_UCLIBC_PTHREAD_CLASH
20 pthread_exit(void *value)
25 +#define pthread_create pthread_create_AVOID_UCLIBC_PTHREAD_CLASH
28 pthread_create(sp_pthread_t *thread, const void *attr,
33 +#define pthread_cancel pthread_cancel_AVOID_UCLIBC_PTHREAD_CLASH
35 pthread_cancel(sp_pthread_t thread)
38 return (kill(thread, SIGTERM));
41 +#define pthread_join pthread_join_AVOID_UCLIBC_PTHREAD_CLASH
44 pthread_join(sp_pthread_t thread, void **value)