This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
[PATCH] nptl/powerpc pt-longjmp.c, fix version problem.
- From: Steve Munroe <sjmunroe at us dot ibm dot com>
- To: libc-alpha at sources dot redhat dot com, Thorsten Kukuk <kukuk at suse dot de>, Andreas Jaeger <aj at suse dot de>
- Date: Mon, 16 Feb 2004 16:46:51 -0600
- Subject: [PATCH] nptl/powerpc pt-longjmp.c, fix version problem.
- Organization: IBM LTC
- Reply-to: sjmunroe at vnet dot ibm dot com
Thorsten Kukuk writes:
> At least the 32bit NPTL libpthread version is no longer binary
> compatible with the 32bit LinuxThreads version:
This was caused by a name typo in pt-longjmp.c so the name specified in
symbol_version was undefined. I also think the "lib" parm specified in
the SHLIB_COMPAT macro should be libpthread (not libc).
The attached patch fixes this for both ppc32 and ppc64.
2004-02-16 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c:
Replace libc with libpthread as "lib" parameter to SHLIB_COMPAT.
(__novmx_siglongjmp): Fix typo in function name.
(__novmx_longjmp): Fix typo in function name.
diff -urN libc23-cvstip-20040216/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c libc23/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c
--- libc23-cvstip-20040216/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c 2004-02-13 23:22:12.000000000 -0600
+++ libc23/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c 2004-02-16 15:21:21.000000000 -0600
@@ -22,7 +22,7 @@
#include <bits/wordsize.h>
#include "pthreadP.h"
#include <shlib-compat.h>
-#if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
+#if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3_4)
/* These functions are not declared anywhere since they shouldn't be
used at another place but here. */
@@ -32,12 +32,12 @@
__attribute__ ((noreturn));
-void __novmxsiglongjmp (sigjmp_buf env, int val)
+void __novmx_siglongjmp (sigjmp_buf env, int val)
{
__novmx__libc_siglongjmp (env, val);
}
-void __novmxlongjmp (jmp_buf env, int val)
+void __novmx_longjmp (jmp_buf env, int val)
{
__novmx__libc_longjmp (env, val);
}