summaryrefslogtreecommitdiff
path: root/libexec/ld.so/resolve.c
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2005-09-22 01:33:10 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2005-09-22 01:33:10 +0000
commit5b5ae816738dee5610782157ce0dddcfecc6d19f (patch)
treea9fe8e435c59ebe62fa71b2892416ed479b7ab34 /libexec/ld.so/resolve.c
parent4ca9b37d2d5d1992aeaf8ce55b7c5e06b2047220 (diff)
Use std missing symbol print instead of MD custom, do not warn on weak
undefined symbols, or count them as failures. inspired kurt@
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);