about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--elf/dl-lookup.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e8d36d3d13..2b307d66a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Sep  6 19:41:10 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* elf/dl-lookup.c (_dl_lookup_symbol): Test WEAK_VALUE.s rather
+	than WEAK_VALUE.a to see if a weak value has been set.  A valid
+	weak value may set WEAK_VALUE.a to 0.
+
 Fri Sep  1 16:16:12 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
 
 	* sysdeps/mach/hurd/i386/longjmp-ts.c: Use new array format for
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index ca0f03489d..62802ddea7 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -87,7 +87,7 @@ _dl_lookup_symbol (const char *undef_name, const Elf32_Sym **ref,
 	      return map->l_addr;
 	    case STB_WEAK:
 	      /* Weak definition.  Use this value if we don't find another.  */
-	      if (weak_value.a == 0)
+	      if (! weak_value.s)
 		{
 		  weak_value.s = sym;
 		  weak_value.a = map->l_addr;