Module Name:    src
Committed By:   christos
Date:           Thu May  9 15:38:14 UTC 2013

Modified Files:
        src/libexec/ld.elf_so: map_object.c rtld.c rtld.h symver.c

Log Message:
convert to SIMPLEQ like the rest of the queues.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/libexec/ld.elf_so/map_object.c
cvs rdiff -u -r1.166 -r1.167 src/libexec/ld.elf_so/rtld.c
cvs rdiff -u -r1.115 -r1.116 src/libexec/ld.elf_so/rtld.h
cvs rdiff -u -r1.3 -r1.4 src/libexec/ld.elf_so/symver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/map_object.c
diff -u src/libexec/ld.elf_so/map_object.c:1.50 src/libexec/ld.elf_so/map_object.c:1.51
--- src/libexec/ld.elf_so/map_object.c:1.50	Wed May  8 11:25:01 2013
+++ src/libexec/ld.elf_so/map_object.c	Thu May  9 11:38:14 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: map_object.c,v 1.50 2013/05/08 15:25:01 christos Exp $	 */
+/*	$NetBSD: map_object.c,v 1.51 2013/05/09 15:38:14 christos Exp $	 */
 
 /*
  * Copyright 1996 John D. Polstra.
@@ -34,7 +34,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: map_object.c,v 1.50 2013/05/08 15:25:01 christos Exp $");
+__RCSID("$NetBSD: map_object.c,v 1.51 2013/05/09 15:38:14 christos Exp $");
 #endif /* not lint */
 
 #include <errno.h>
@@ -421,6 +421,7 @@ void
 _rtld_obj_free(Obj_Entry *obj)
 {
 	Objlist_Entry *elm;
+	Name_Entry *entry;
 
 #if defined(__HAVE_TLS_VARIANT_I) || defined(__HAVE_TLS_VARIANT_II)
 	if (obj->tls_done)
@@ -432,9 +433,8 @@ _rtld_obj_free(Obj_Entry *obj)
 		obj->needed = needed->next;
 		xfree(needed);
 	}
-	while (!STAILQ_EMPTY(&obj->names)) {
-		Name_Entry *entry = STAILQ_FIRST(&obj->names);
-		STAILQ_REMOVE_HEAD(&obj->names, link);
+	while ((entry = SIMPLEQ_FIRST(&obj->names)) != NULL) {
+		SIMPLEQ_REMOVE_HEAD(&obj->names, link);
 		xfree(entry);
 	}
 	while ((elm = SIMPLEQ_FIRST(&obj->dldags)) != NULL) {
@@ -459,7 +459,7 @@ _rtld_obj_new(void)
 	Obj_Entry *obj;
 
 	obj = CNEW(Obj_Entry);
-	STAILQ_INIT(&obj->names);
+	SIMPLEQ_INIT(&obj->names);
 	SIMPLEQ_INIT(&obj->dldags);
 	SIMPLEQ_INIT(&obj->dagmembers);
 	return obj;

Index: src/libexec/ld.elf_so/rtld.c
diff -u src/libexec/ld.elf_so/rtld.c:1.166 src/libexec/ld.elf_so/rtld.c:1.167
--- src/libexec/ld.elf_so/rtld.c:1.166	Mon May  6 15:59:30 2013
+++ src/libexec/ld.elf_so/rtld.c	Thu May  9 11:38:14 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rtld.c,v 1.166 2013/05/06 19:59:30 christos Exp $	 */
+/*	$NetBSD: rtld.c,v 1.167 2013/05/09 15:38:14 christos Exp $	 */
 
 /*
  * Copyright 1996 John D. Polstra.
@@ -40,7 +40,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: rtld.c,v 1.166 2013/05/06 19:59:30 christos Exp $");
+__RCSID("$NetBSD: rtld.c,v 1.167 2013/05/09 15:38:14 christos Exp $");
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -884,6 +884,7 @@ _rtld_unload_object(sigset_t *mask, Obj_
 				_rtld_linkmap_delete(obj);
 				*linkp = obj->next;
 				_rtld_objcount--;
+xprintf("%s, %d: %s\n", __FILE__, __LINE__, obj->path);
 				_rtld_obj_free(obj);
 			} else
 				linkp = &obj->next;
@@ -1373,8 +1374,8 @@ dl_iterate_phdr(int (*callback)(struct d
 	for (obj = _rtld_objlist;  obj != NULL;  obj = obj->next) {
 		phdr_info.dlpi_addr = (Elf_Addr)obj->relocbase;
 		/* XXX: wrong but not fixing it yet */
-		phdr_info.dlpi_name = STAILQ_FIRST(&obj->names) ?
-		    STAILQ_FIRST(&obj->names)->name : obj->path;
+		phdr_info.dlpi_name = SIMPLEQ_FIRST(&obj->names) ?
+		    SIMPLEQ_FIRST(&obj->names)->name : obj->path;
 		phdr_info.dlpi_phdr = obj->phdr;
 		phdr_info.dlpi_phnum = obj->phsize / sizeof(obj->phdr[0]);
 #if defined(__HAVE_TLS_VARIANT_I) || defined(__HAVE_TLS_VARIANT_II)

Index: src/libexec/ld.elf_so/rtld.h
diff -u src/libexec/ld.elf_so/rtld.h:1.115 src/libexec/ld.elf_so/rtld.h:1.116
--- src/libexec/ld.elf_so/rtld.h:1.115	Mon May  6 15:59:30 2013
+++ src/libexec/ld.elf_so/rtld.h	Thu May  9 11:38:14 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rtld.h,v 1.115 2013/05/06 19:59:30 christos Exp $	 */
+/*	$NetBSD: rtld.h,v 1.116 2013/05/09 15:38:14 christos Exp $	 */
 
 /*
  * Copyright 1996 John D. Polstra.
@@ -92,7 +92,7 @@ typedef struct Struct_Objlist_Entry {
 typedef SIMPLEQ_HEAD(Struct_Objlist, Struct_Objlist_Entry) Objlist;
 
 typedef struct Struct_Name_Entry {
-	STAILQ_ENTRY(Struct_Name_Entry)	link;
+	SIMPLEQ_ENTRY(Struct_Name_Entry) link;
 	char	name[1];
 } Name_Entry;
 
@@ -255,8 +255,8 @@ typedef struct Struct_Obj_Entry {
 	uint8_t         nbuckets_s1;
 	uint8_t         nbuckets_s2;
 	size_t		pathlen;	/* Pathname length */
-	STAILQ_HEAD(, Struct_Name_Entry) names;	/* List of names for this object we
-						   know about. */
+	SIMPLEQ_HEAD(, Struct_Name_Entry) names; /* List of names for this
+						  * object we know about. */
 
 #ifdef __powerpc__
 	Elf_Addr       *gotptr;		/* GOT table (secure-plt only) */

Index: src/libexec/ld.elf_so/symver.c
diff -u src/libexec/ld.elf_so/symver.c:1.3 src/libexec/ld.elf_so/symver.c:1.4
--- src/libexec/ld.elf_so/symver.c:1.3	Tue May  7 09:01:07 2013
+++ src/libexec/ld.elf_so/symver.c	Thu May  9 11:38:14 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: symver.c,v 1.3 2013/05/07 13:01:07 christos Exp $	*/
+/*	$NetBSD: symver.c,v 1.4 2013/05/09 15:38:14 christos Exp $	*/
 
 /*-
  * Copyright 1996, 1997, 1998, 1999, 2000 John D. Polstra.
@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: symver.c,v 1.3 2013/05/07 13:01:07 christos Exp $");
+__RCSID("$NetBSD: symver.c,v 1.4 2013/05/09 15:38:14 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/exec_elf.h>
@@ -79,7 +79,7 @@ _rtld_object_add_name(Obj_Entry *obj, co
 
     if (entry != NULL) {
 	strcpy(entry->name, name);
-	STAILQ_INSERT_TAIL(&obj->names, entry, link);
+	SIMPLEQ_INSERT_TAIL(&obj->names, entry, link);
     }
 }
 
@@ -88,7 +88,7 @@ _rtld_object_match_name(const Obj_Entry 
 {
 	Name_Entry *entry;
 
-	STAILQ_FOREACH(entry, &obj->names, link) {
+	SIMPLEQ_FOREACH(entry, &obj->names, link) {
 		dbg(("name: %s, entry->name: %s", name, entry->name));
 		if (strcmp(name, entry->name) == 0)
 			return 1;

Reply via email to