1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00
2000-10-24  Ulrich Drepper  <drepper@redhat.com>

	Complete revamp of the reference counter handling.
	* include/link.h (struct link_map): Add l_idx field.
	* elf/dl-close.c: Handle decrementing of reference counters more
	correctly. If necessary decrement reference counters of dependencies
	of dependencies.
	* elf/dl-lookup.c (add_dependency): Only increment reference counter
	of the object itself and not also its dependencies.
	* elf/dl-open.c: Increment reference counters here.
	* elf/dl-deps.c: Remove reference counter handling here.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Adjust for _dl_map_deps not handling reference counters.

	* elf/loadtest.c: Print loaded objects at the beginning.
This commit is contained in:
Ulrich Drepper
2000-10-24 07:36:55 +00:00
parent 69c3325490
commit 42c4f32a44
8 changed files with 91 additions and 58 deletions

View File

@ -83,17 +83,23 @@ main (int argc, char *argv[])
int debug = argc > 1 && argv[1][0] != '\0';
int count = TEST_ROUNDS;
int result = 0;
struct link_map *map;
mtrace ();
/* Just a seed. */
srandom (TEST_ROUNDS);
if (debug)
{
puts ("in the beginning");
OUT;
}
while (count--)
{
int nr = random () % NTESTS;
int index = tests[nr].index;
struct link_map *map;
printf ("%4d: %4d: ", count + 1, nr);
fflush (stdout);