summary refs log tree commit diff
path: root/elf/dl-runtime.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-04-04 23:23:40 +0000
committerUlrich Drepper <drepper@redhat.com>2000-04-04 23:23:40 +0000
commit736d0841e4aeee3013893e0aa095802f2c1de0d8 (patch)
tree0c187ead78325e45f5f1ff59dd75e34f86a9205c /elf/dl-runtime.c
parent3aaad0b63854cf780e2605b7c4f34170f8920957 (diff)
downloadglibc-736d0841e4aeee3013893e0aa095802f2c1de0d8.tar.gz
glibc-736d0841e4aeee3013893e0aa095802f2c1de0d8.tar.xz
glibc-736d0841e4aeee3013893e0aa095802f2c1de0d8.zip
Update.
	* elf/dl-runtime.c (fixup): Correct handling of symbols marked
	STV_HIDDEN and STV_INTERNAL during lookup.
	(profile_fixup): Likewise.
	* elf/dl-reloc.c (RESOLVE): Likewise.
Diffstat (limited to 'elf/dl-runtime.c')
-rw-r--r--elf/dl-runtime.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index ab944a80e9..d76b513a27 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -68,9 +68,9 @@ fixup (
   /* Sanity check that we're really looking at a PLT relocation.  */
   assert (ELFW(R_TYPE)(reloc->r_info) == ELF_MACHINE_JMP_SLOT);
 
-   /* Look up the target symbol.  If the symbol is marked STV_PROTECTED
-      don't look in the global scope.  */
-  if (ELFW(ST_VISIBILITY) (sym->st_other) != STV_PROTECTED)
+   /* Look up the target symbol.  If the normal lookup rules are not
+      used don't look in the global scope.  */
+  if (__builtin_expect (ELFW(ST_VISIBILITY) (sym->st_other), 0) == 0)
     {
       switch (l->l_info[VERSYMIDX (DT_VERSYM)] != NULL)
 	{
@@ -153,7 +153,7 @@ profile_fixup (
 
       /* Look up the target symbol.  If the symbol is marked STV_PROTEXTED
 	 don't look in the global scope.  */
-      if (ELFW(ST_VISIBILITY) (sym->st_other) != STV_PROTECTED)
+      if (__builtin_expect (ELFW(ST_VISIBILITY) (sym->st_other), 0) == 0)
 	{
 	  switch (l->l_info[VERSYMIDX (DT_VERSYM)] != NULL)
 	    {