167 Lm_list *lml = ofl->ofl_lml;
168
169 if (DBG_NOTCLASS(DBG_C_STATS | DBG_C_UNUSED))
170 return;
171
172 Dbg_util_nl(lml, DBG_NL_STD);
173 for (APLIST_TRAVERSE(ofl->ofl_ars, idx, adp)) {
174 size_t poffset = 0;
175 uint_t count = 0, used = 0;
176
177 if ((adp->ad_flags & FLG_ARD_EXTRACT) == 0) {
178 Dbg_unused_file(lml, adp->ad_name, 0, 0);
179 continue;
180 }
181
182 if (DBG_NOTCLASS(DBG_C_STATS))
183 continue;
184
185 arsym = adp->ad_start;
186 aux = adp->ad_aux;
187 while (arsym->as_off) {
188 /*
189 * Assume that symbols from the same member file are
190 * adjacent within the archive symbol table.
191 */
192 if (poffset != arsym->as_off) {
193 count++;
194 poffset = arsym->as_off;
195 if (aux->au_mem == FLG_ARMEM_PROC)
196 used++;
197 }
198 aux++, arsym++;
199 }
200 if ((count == 0) || (used == 0))
201 continue;
202 #ifndef UDIV_NOT_SUPPORTED
203 dbg_print(lml, MSG_INTL(MSG_STATS_AR), adp->ad_name, count,
204 used, ((used * 100) / count));
205 #endif
206 }
207 Dbg_util_nl(lml, DBG_NL_STD);
208 }
|
167 Lm_list *lml = ofl->ofl_lml;
168
169 if (DBG_NOTCLASS(DBG_C_STATS | DBG_C_UNUSED))
170 return;
171
172 Dbg_util_nl(lml, DBG_NL_STD);
173 for (APLIST_TRAVERSE(ofl->ofl_ars, idx, adp)) {
174 size_t poffset = 0;
175 uint_t count = 0, used = 0;
176
177 if ((adp->ad_flags & FLG_ARD_EXTRACT) == 0) {
178 Dbg_unused_file(lml, adp->ad_name, 0, 0);
179 continue;
180 }
181
182 if (DBG_NOTCLASS(DBG_C_STATS))
183 continue;
184
185 arsym = adp->ad_start;
186 aux = adp->ad_aux;
187 while ((arsym != NULL) && (arsym->as_off != NULL)) {
188 /*
189 * Assume that symbols from the same member file are
190 * adjacent within the archive symbol table.
191 */
192 if (poffset != arsym->as_off) {
193 count++;
194 poffset = arsym->as_off;
195 if (aux->au_mem == FLG_ARMEM_PROC)
196 used++;
197 }
198 aux++, arsym++;
199 }
200 if ((count == 0) || (used == 0))
201 continue;
202
203 dbg_print(lml, MSG_INTL(MSG_STATS_AR), adp->ad_name, count,
204 used, ((used * 100) / count));
205 }
206 Dbg_util_nl(lml, DBG_NL_STD);
207 }
|