another symbol versioning problem
Richard Henderson
rth@twiddle.net
Wed Mar 10 09:40:00 GMT 2004
With --enable-oldest-abi=2.3.4 I get
/usr/bin/ld: /usr/src/glibc/build/elf/ld.so: undefined versioned symbol name errno@GLIBC_2.3.4
This fixes it.
r~
2004-03-10 Richard Henderson <rth@redhat.com>
* sysdeps/generic/errno.c: Disable versioning for rtld.
Index: errno.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/errno.c,v
retrieving revision 1.4
diff -c -p -d -r1.4 errno.c
*** errno.c 15 Nov 2002 03:36:51 -0000 1.4
--- errno.c 10 Mar 2004 09:37:52 -0000
*************** extern __thread int __libc_errno __attri
*** 32,40 ****
int errno __attribute__ ((section (".bss")));
strong_alias (errno, _errno)
! /* We declare these with compat_symbol so that they are not
! visible at link time. Programs must use the accessor functions. */
! # if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
# include <shlib-compat.h>
compat_symbol (libc, errno, errno, GLIBC_2_0);
compat_symbol (libc, _errno, _errno, GLIBC_2_0);
--- 32,42 ----
int errno __attribute__ ((section (".bss")));
strong_alias (errno, _errno)
! /* We declare these with compat_symbol so that they are not visible at
! link time. Programs must use the accessor functions. RTLD is special,
! since it's not exported from there at any time. */
! # if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING \
! && !defined IS_IN_rtld
# include <shlib-compat.h>
compat_symbol (libc, errno, errno, GLIBC_2_0);
compat_symbol (libc, _errno, _errno, GLIBC_2_0);
More information about the Libc-alpha
mailing list