[uClibc-cvs] CVS update of uClibc/ldso (ldso/ldso.c libdl/libdl.c)

Joakim Tjernlund jocke at codepoet.org
Wed Aug 25 14:22:05 UTC 2004


    Date: Wednesday, August 25, 2004 @ 08:22:05
  Author: jocke
    Path: /var/cvs/uClibc/ldso

Modified: ldso/ldso.c (1.110 -> 1.111) libdl/libdl.c (1.49 -> 1.50)

Hopefully fix Laszlo and Jacobs dlopen problem.


Index: uClibc/ldso/ldso/ldso.c
diff -u uClibc/ldso/ldso/ldso.c:1.110 uClibc/ldso/ldso/ldso.c:1.111
--- uClibc/ldso/ldso/ldso.c:1.110	Thu Aug 19 14:21:26 2004
+++ uClibc/ldso/ldso/ldso.c	Wed Aug 25 08:22:04 2004
@@ -139,7 +139,7 @@
 		tpnt->ppnt = myppnt = (ElfW(Phdr) *) (load_addr + epnt->e_phoff);
 		for (j = 0; j < epnt->e_phnum; j++, myppnt++) {
 			if (myppnt->p_type == PT_DYNAMIC) {
-				tpnt->dynamic_addr = (ElfW(Dyn) *)myppnt->p_vaddr + load_addr;
+				tpnt->dynamic_addr = (ElfW(Dyn) *)(myppnt->p_vaddr + load_addr);
 				tpnt->dynamic_size = myppnt->p_filesz;
 			}
 		}
Index: uClibc/ldso/libdl/libdl.c
diff -u uClibc/ldso/libdl/libdl.c:1.49 uClibc/ldso/libdl/libdl.c:1.50
--- uClibc/ldso/libdl/libdl.c:1.49	Tue Aug 17 07:37:54 2004
+++ uClibc/ldso/libdl/libdl.c	Wed Aug 25 08:22:05 2004
@@ -179,8 +179,11 @@
 	if(_dl_debug)
 		fprintf(stderr, "Trying to dlopen '%s'\n", (char*)libname);
 #endif
-	if (!(tpnt = _dl_check_if_named_library_is_loaded((char *)libname, 0)))
+	tpnt = _dl_check_if_named_library_is_loaded((char *)libname, 0);
+	if (!(tpnt))
 		tpnt = _dl_load_shared_library(0, &rpnt, tfrom, (char*)libname, 0);
+	else
+		tpnt->usage_count++;
 	if (tpnt == NULL) {
 		_dl_unmap_cache();
 		return NULL;



More information about the uClibc-cvs mailing list