summaryrefslogtreecommitdiff
path: root/libexec/ld.so/resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/ld.so/resolve.c')
-rw-r--r--libexec/ld.so/resolve.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libexec/ld.so/resolve.c b/libexec/ld.so/resolve.c
index 1a39efab9b0..0ad4bbd5faa 100644
--- a/libexec/ld.so/resolve.c
+++ b/libexec/ld.so/resolve.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: resolve.c,v 1.32 2005/09/21 23:12:09 drahn Exp $ */
+/* $OpenBSD: resolve.c,v 1.33 2005/09/22 01:33:07 drahn Exp $ */
/*
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -358,7 +358,9 @@ found:
if (found == 0) {
- if (flags & SYM_WARNNOTFOUND)
+ if ((ref_sym == NULL ||
+ (ELF_ST_BIND(ref_sym->st_info) != STB_WEAK)) &&
+ (flags & SYM_WARNNOTFOUND))
_dl_printf("%s:%s: undefined symbol '%s'\n",
_dl_progname, req_obj->load_name, name);
return (0);