- do {
- char *name = ldi->ldinfo_filename;
- char *memb = name + strlen(name) + 1;
-
- retried = 0;
-
- if (fstat (ldi->ldinfo_fd, &ii) < 0)
- {
- /* The kernel sets ld_info to -1, if the process is still using the
- object, and the object is removed. Keep the symbol info for the
- removed object and issue a warning. */
- warning ("%s (fd=%d) has disappeared, keeping its symbols",
- name, ldi->ldinfo_fd);
- continue;
- }
- retry:
- for (got_one = 0, vp = vmap; vp; vp = vp->nxt)
- {
- struct objfile *objfile;
-
- /* First try to find a `vp', which is the same as in ldinfo.
- If not the same, just continue and grep the next `vp'. If same,
- relocate its tstart, tend, dstart, dend values. If no such `vp'
- found, get out of this for loop, add this ldi entry as a new vmap
- (add_vmap) and come back, find its `vp' and so on... */
-
- /* The filenames are not always sufficient to match on. */
-
- if ((name[0] == '/' && !STREQ(name, vp->name))
- || (memb[0] && !STREQ(memb, vp->member)))
+ do
+ {
+ char *name = ldi->ldinfo_filename;
+ char *memb = name + strlen (name) + 1;
+
+ retried = 0;
+
+ if (fstat (ldi->ldinfo_fd, &ii) < 0)
+ {
+ /* The kernel sets ld_info to -1, if the process is still using the
+ object, and the object is removed. Keep the symbol info for the
+ removed object and issue a warning. */
+ warning ("%s (fd=%d) has disappeared, keeping its symbols",
+ name, ldi->ldinfo_fd);