Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
	* sysdeps/generic/errno.c: Include <dl-sysdep.h>.  Use
	RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
  • Loading branch information
Ulrich Drepper committed Mar 11, 2004
1 parent 6d3a2be commit f032388
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
3 changes: 3 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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.

Expand Down
9 changes: 4 additions & 5 deletions elf/dl-sym.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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)
Expand All @@ -142,13 +141,13 @@ _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);
}


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);
}
5 changes: 3 additions & 2 deletions sysdeps/generic/errno.c
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -19,6 +19,7 @@

#include <errno.h>
#include <tls.h>
#include <dl-sysdep.h>
#undef errno

#if USE___THREAD
Expand All @@ -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);
Expand Down

0 comments on commit f032388

Please sign in to comment.