Home | History | Annotate | Download | only in ld

Lines Matching defs:os_info

60   struct os_sections *os_info = os->data;
63 if (os_info == NULL)
65 os_info = xmalloc (sizeof (*os_info) + 63 * sizeof (*os_info->isec));
66 os_info->alloc = 64;
67 os_info->count = 0;
68 os_info->ordered = 0;
69 os->data = os_info;
71 if (os_info->count == os_info->alloc)
74 os_info->alloc *= 2;
75 want = sizeof (*os_info) + (os_info->alloc - 1) * sizeof (*os_info->isec);
76 os_info = xrealloc (os_info, want);
77 os->data = os_info;
79 os_info->isec[os_info->count].is = is;
80 os_info->isec[os_info->count].idx = os_info->count;
81 os_info->count++;
86 os_info->ordered++;
206 struct os_sections *os_info = os->data;
211 for (i = 0; i < os_info->count; i = j)
220 for (j = i + 1; j < os_info->count; j++)
221 if (os_info->isec[j].is->pattern != os_info->isec[i].is->pattern)
224 qsort (&os_info->isec[i], j - i, sizeof (*os_info->isec),
227 for (i = 0; i < os_info->count; i++)
228 if (os_info->isec[i].idx != i)
230 if (i == os_info->count)
237 orig_is = xmalloc (os_info->count * sizeof (*orig_is));
238 save_s = xmalloc (os_info->count * sizeof (*save_s));
239 for (i = 0; i < os_info->count; i++)
241 orig_is[os_info->isec[i].idx] = os_info->isec[i].is;
242 save_s[i] = os_info->isec[i].is->section;
244 for (i = 0; i < os_info->count; i++)
245 if (os_info->isec[i].idx != i)
248 /* Restore os_info to pristine state before the qsort, for the
250 os_info->isec[i].is = orig_is[i];
251 os_info->isec[i].idx = i;
279 struct os_sections *os_info = os->data;
280 if (os_info != NULL && os_info->ordered != 0)
282 if (os_info->ordered != os_info->count
290 if (os_info->count > 1