usr/src/cmd/sgs/libld/common/relocate.c
changeset 12449 a87750d92895
parent 12155 50d9d4aeb501
child 12498 12c4df7d2890
--- a/usr/src/cmd/sgs/libld/common/relocate.c	Wed May 19 21:10:39 2010 -0700
+++ b/usr/src/cmd/sgs/libld/common/relocate.c	Wed May 19 22:33:49 2010 -0700
@@ -972,12 +972,15 @@
 		(*ld_targ.t_mr.mr_assign_plt_ndx)(sdp, ofl);
 
 		/*
-		 * If this symbol is binding to a LAZYLOADED object then
-		 * set the LAZYLD symbol flag.
+		 * If this symbol is binding to a lazy loadable, or deferred
+		 * dependency, then identify the symbol.
 		 */
-		if (sdp->sd_file &&
-		    (sdp->sd_file->ifl_flags & FLG_IF_LAZYLD))
-			sdp->sd_flags |= FLG_SY_LAZYLD;
+		if (sdp->sd_file) {
+			if (sdp->sd_file->ifl_flags & FLG_IF_LAZYLD)
+				sdp->sd_flags |= FLG_SY_LAZYLD;
+			if (sdp->sd_file->ifl_flags & FLG_IF_DEFERRED)
+				sdp->sd_flags |= FLG_SY_DEFERRED;
+		}
 
 		rsp->rel_rtype = ld_targ.t_m.m_r_jmp_slot;
 		if ((*ld_targ.t_mr.mr_add_outrel)(FLG_REL_PLT, rsp, ofl) ==