Update MIPS dl-lookup.c from generic version.

This commit is contained in:
Joseph Myers 2011-03-22 20:42:13 +00:00
parent ea4774c3f3
commit 8825867bdd
2 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2011-03-22 Joseph Myers <joseph@codesourcery.com>
* sysdeps/mips/dl-lookup.c: Update from generic version.
2011-01-25 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/bits/mman.h (MADV_HUGEPAGE,

View File

@ -1,7 +1,6 @@
/* Look up a symbol in the loaded objects.
MIPS/Linux version - special handling of non-PIC undefined symbol rules.
Copyright (C) 1995-2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
Copyright (C) 1995-2007, 2009, 2010, 2011 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
@ -381,8 +380,19 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash,
if (entries[idx].hashval == new_hash
&& strcmp (entries[idx].name, undef_name) == 0)
{
result->s = entries[idx].sym;
result->m = (struct link_map *) entries[idx].map;
if ((type_class & ELF_RTYPE_CLASS_COPY) != 0)
{
/* We possibly have to initialize the central
copy from the copy addressed through the
relocation. */
result->s = sym;
result->m = (struct link_map *) map;
}
else
{
result->s = entries[idx].sym;
result->m = (struct link_map *) entries[idx].map;
}
__rtld_lock_unlock_recursive (tab->lock);
return 1;
}