Lines Matching defs:di

127 free_dyn_info (unw_dyn_info_t *di)
129 switch (di->format)
132 if (di->u.pi.regions)
134 free_regions (di->u.pi.regions);
135 di->u.pi.regions = NULL;
140 if (di->u.ti.table_data)
142 free (di->u.ti.table_data);
143 di->u.ti.table_data = NULL;
155 unw_word_t *addr, unw_dyn_info_t *di, void *arg)
160 switch (di->format)
163 if ((ret = fetchw (as, a, addr, &di->u.pi.name_ptr, arg)) < 0
164 || (ret = fetchw (as, a, addr, &di->u.pi.handler, arg)) < 0
166 (int32_t *) &di->u.pi.flags, arg)) < 0)
170 || (ret = intern_regions (as, a, &first_region, &di->u.pi.regions,
176 if ((ret = fetchw (as, a, addr, &di->u.ti.name_ptr, arg)) < 0
177 || (ret = fetchw (as, a, addr, &di->u.ti.segbase, arg)) < 0
178 || (ret = fetchw (as, a, addr, &di->u.ti.table_len, arg)) < 0
179 || (ret = intern_array (as, a, addr, di->u.ti.table_len,
180 &di->u.ti.table_data, arg)) < 0)
185 if ((ret = fetchw (as, a, addr, &di->u.rti.name_ptr, arg)) < 0
186 || (ret = fetchw (as, a, addr, &di->u.rti.segbase, arg)) < 0
187 || (ret = fetchw (as, a, addr, &di->u.rti.table_len, arg)) < 0
188 || (ret = fetchw (as, a, addr, &di->u.rti.table_data, arg)) < 0)
199 free_dyn_info (di);
210 unw_dyn_info_t *di = NULL;
246 if (!di)
247 di = calloc (1, sizeof (*di));
249 di->start_ip = start_ip;
250 di->end_ip = end_ip;
252 if (fetchw (as, a, &addr, &di->gp, arg) < 0
253 || fetch32 (as, a, &addr, &di->format, arg) < 0)
259 && intern_dyn_info (as, a, &addr, di, arg) < 0)
262 if (unwi_extract_dynamic_proc_info (as, ip, pi, di,
265 free_dyn_info (di);
282 if (ret < 0 && di)
283 free (di);