This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: PATCH: Fix binary compatibility loss regarding errno
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: libc-alpha at sources dot redhat dot com
- Date: Mon, 30 Dec 2002 13:55:25 -0500
- Subject: Re: PATCH: Fix binary compatibility loss regarding errno
- References: <20021230105111.A4503@lucon.org>
On Mon, Dec 30, 2002 at 10:51:11AM -0800, H. J. Lu wrote:
> Here is a patch for errno. I don't know if there are any other similar
> issuses.
At least h_errno needs the same treatment.
>
>
> H.J.
> ----
> 2002-12-30 H.J. Lu <hjl@gnu.org>
>
> * sysdeps/generic/errno.c (errno): Fix GLIBC_2_0 version.
> (_errno): Likewise.
>
> --- sysdeps/generic/errno.c.errno Fri Nov 22 10:22:46 2002
> +++ sysdeps/generic/errno.c Mon Dec 30 10:46:57 2002
> @@ -29,14 +29,14 @@ extern __thread int __libc_errno __attri
> /* This differs from plain `int errno;' in that it doesn't create
> a common definition, but a plain symbol that resides in .bss,
> which can have an alias. */
> -int errno __attribute__ ((section (".bss")));
> -strong_alias (errno, _errno)
> +int __old_errno __attribute__ ((section (".bss")));
> +strong_alias (__old_errno, ___old_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);
> +compat_symbol (libc, __old_errno, errno, GLIBC_2_0);
> +compat_symbol (libc, ___old_errno, _errno, GLIBC_2_0);
> # endif
> #endif
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer