mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 02:03:35 +08:00
Update.
* sysdeps/generic/errno.c: Include <dl-sysdep.h>. Use RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
This commit is contained in:
parent
6d3a2bec95
commit
f032388692
@ -1,5 +1,8 @@
|
||||
2004-03-10 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/generic/errno.c: Include <dl-sysdep.h>. Use
|
||||
RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
|
||||
|
||||
* elf/dl-sym.c: Unify _dl_sym and _dl_vsym code and make the entry
|
||||
points wrappers around the unified code.
|
||||
|
||||
|
@ -60,8 +60,8 @@ _dl_tls_symaddr (struct link_map *map, const ElfW(Sym) *ref)
|
||||
|
||||
static void *
|
||||
internal_function
|
||||
do_sym (void *handle, const char *name, struct r_found_version *vers,
|
||||
int flags, void *who)
|
||||
do_sym (void *handle, const char *name, void *who,
|
||||
struct r_found_version *vers, int flags)
|
||||
{
|
||||
const ElfW(Sym) *ref = NULL;
|
||||
lookup_t result;
|
||||
@ -128,7 +128,6 @@ RTLD_NEXT used in code not dynamically loaded"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void *
|
||||
internal_function
|
||||
_dl_vsym (void *handle, const char *name, const char *version, void *who)
|
||||
@ -142,7 +141,7 @@ _dl_vsym (void *handle, const char *name, const char *version, void *who)
|
||||
/* We don't have a specific file where the symbol can be found. */
|
||||
vers.filename = NULL;
|
||||
|
||||
return do_sym (handle, name, &vers, 0, who);
|
||||
return do_sym (handle, name, who, &vers, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -150,5 +149,5 @@ void *
|
||||
internal_function
|
||||
_dl_sym (void *handle, const char *name, void *who)
|
||||
{
|
||||
return do_sym (handle, name, NULL, DL_LOOKUP_RETURN_NEWEST, who);
|
||||
return do_sym (handle, name, who, NULL, DL_LOOKUP_RETURN_NEWEST);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Definition of `errno' variable. Canonical version.
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -19,6 +19,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <tls.h>
|
||||
#include <dl-sysdep.h>
|
||||
#undef errno
|
||||
|
||||
#if USE___THREAD
|
||||
@ -36,7 +37,7 @@ strong_alias (errno, _errno)
|
||||
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
|
||||
&& !RTLD_PRIVATE_ERRNO
|
||||
# include <shlib-compat.h>
|
||||
compat_symbol (libc, errno, errno, GLIBC_2_0);
|
||||
compat_symbol (libc, _errno, _errno, GLIBC_2_0);
|
||||
|
Loading…
Reference in New Issue
Block a user