Line
Link Here
|
0 |
-- glibc-2.22/elf/dl-deps.c |
0 |
++ glibc-2.22/elf/dl-deps.c |
Lines 70-87
openaux (void *a)
Link Here
|
70 |
static ptrdiff_t |
70 |
static ptrdiff_t |
71 |
internal_function |
71 |
internal_function |
72 |
_dl_build_local_scope (struct link_map **list, struct link_map *map) |
72 |
_dl_build_local_scope (struct link_map **list, struct link_map *map) |
73 |
{ |
73 |
{ |
74 |
struct link_map **p = list; |
74 |
size_t n = 0; |
|
|
75 |
size_t m; |
75 |
struct link_map **q; |
76 |
struct link_map **q; |
76 |
|
77 |
|
77 |
*p++ = map; |
78 |
list[n++] = map; |
78 |
map->l_reserved = 1; |
79 |
map->l_reserved = 1; |
79 |
if (map->l_initfini) |
80 |
for (m = 0; m < n; ++m) |
80 |
for (q = map->l_initfini + 1; *q; ++q) |
81 |
if (list[m]->l_initfini) |
81 |
if (! (*q)->l_reserved) |
82 |
for (q = list[m]->l_initfini + 1; *q; ++q) |
82 |
p += _dl_build_local_scope (p, *q); |
83 |
if (! (*q)->l_reserved) |
83 |
return p - list; |
84 |
{ |
|
|
85 |
list[n++] = *q; |
86 |
(*q)->l_reserved = 1; |
87 |
} |
88 |
return n; |
84 |
} |
89 |
} |
85 |
|
90 |
|
86 |
|
91 |
|
87 |
/* We use a very special kind of list to track the path |
92 |
/* We use a very special kind of list to track the path |