Module Name:    src
Committed By:   riastradh
Date:           Tue Jul 18 11:44:32 UTC 2023

Modified Files:
        src/lib/libc/misc: initfini.c
        src/lib/libc/stdlib: _env.c

Log Message:
libc: Use RB_TREE_INITIALIZER to nix initfini.c/_env.c coupling.

Doesn't actually help to remove _env.c from programs that don't use
it, though, because various internal things like __diagassert13 still
call getenv.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/lib/libc/misc/initfini.c
cvs rdiff -u -r1.13 -r1.14 src/lib/libc/stdlib/_env.c

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

Modified files:

Index: src/lib/libc/misc/initfini.c
diff -u src/lib/libc/misc/initfini.c:1.15 src/lib/libc/misc/initfini.c:1.16
--- src/lib/libc/misc/initfini.c:1.15	Tue Apr 20 21:42:32 2021
+++ src/lib/libc/misc/initfini.c	Tue Jul 18 11:44:32 2023
@@ -1,4 +1,4 @@
-/* 	$NetBSD: initfini.c,v 1.15 2021/04/20 21:42:32 christos Exp $	 */
+/* 	$NetBSD: initfini.c,v 1.16 2023/07/18 11:44:32 riastradh Exp $	 */
 
 /*-
  * Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: initfini.c,v 1.15 2021/04/20 21:42:32 christos Exp $");
+__RCSID("$NetBSD: initfini.c,v 1.16 2023/07/18 11:44:32 riastradh Exp $");
 
 #ifdef _LIBC
 #include "namespace.h"
@@ -132,7 +132,4 @@ _libc_init(void)
 
 	/* Initialize the atexit mutexes */
 	__libc_atexit_init();
-
-	/* Initialize environment memory RB tree. */
-	__libc_env_init();
 }

Index: src/lib/libc/stdlib/_env.c
diff -u src/lib/libc/stdlib/_env.c:1.13 src/lib/libc/stdlib/_env.c:1.14
--- src/lib/libc/stdlib/_env.c:1.13	Sat Mar 12 17:31:39 2022
+++ src/lib/libc/stdlib/_env.c	Tue Jul 18 11:44:32 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: _env.c,v 1.13 2022/03/12 17:31:39 christos Exp $ */
+/*	$NetBSD: _env.c,v 1.14 2023/07/18 11:44:32 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: _env.c,v 1.13 2022/03/12 17:31:39 christos Exp $");
+__RCSID("$NetBSD: _env.c,v 1.14 2023/07/18 11:44:32 riastradh Exp $");
 #endif /* LIBC_SCCS and not lint */
 
 #include "namespace.h"
@@ -73,7 +73,8 @@ static const rb_tree_ops_t env_tree_ops 
 };
 
 /* The single instance of above tree. */
-static rb_tree_t	env_tree;
+static rb_tree_t	env_tree =
+    RB_TREE_INITIALIZER(env_tree, &env_tree_ops);
 
 /* The allocated environment. */
 static char	**allocated_environ;
@@ -401,10 +402,3 @@ __unlockenv(void)
 }
 
 #endif
-
-/* Initialize environment memory RB tree. */
-void __section(".text.startup")
-__libc_env_init(void)
-{
-	rb_tree_init(&env_tree, &env_tree_ops);
-}

Reply via email to