diff options
| -rw-r--r-- | src/ldso/dynlink.c | 1 | 
1 files changed, 1 insertions, 0 deletions
| diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 6c4abbfe..7a26e9ed 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -107,6 +107,7 @@ static void *find_sym(struct dso *dso, const char *s, int need_def)  		if (sym && (!need_def || sym->st_shndx) && sym->st_value  		 && (1<<(sym->st_info&0xf) & OK_TYPES)  		 && (1<<(sym->st_info>>4) & OK_BINDS)) { +			if (def && sym->st_info>>4 == STB_WEAK) continue;  			def = dso->base + sym->st_value;  			if (sym->st_info>>4 == STB_GLOBAL) break;  		} | 
