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);
-}