summaryrefslogtreecommitdiff
path: root/usr/src/cmd/sgs/libld/common/update.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/sgs/libld/common/update.c')
-rw-r--r--usr/src/cmd/sgs/libld/common/update.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr/src/cmd/sgs/libld/common/update.c b/usr/src/cmd/sgs/libld/common/update.c
index d61d4cfcd5..8ef1be8343 100644
--- a/usr/src/cmd/sgs/libld/common/update.c
+++ b/usr/src/cmd/sgs/libld/common/update.c
@@ -702,9 +702,11 @@ update_osym(Ofl_desc *ofl)
enter_in_symtab = symtab &&
(!(ofl->ofl_flags & FLG_OF_REDLSYM) ||
sdp->sd_move);
- enter_in_ldynsym = ldynsym && sdp->sd_name &&
+ enter_in_ldynsym = ldynsym &&
+ ((sym->st_name != 0) || (type == STT_FILE)) &&
ldynsym_symtype[type] &&
!(ofl->ofl_flags & FLG_OF_REDLSYM);
+
_symshndx = NULL;
if (enter_in_symtab) {