]> xenbits.xensource.com Git - unikraft/libs/musl.git/commitdiff
Environment variables with `lib/posix-environ`
authorSimon Kuenzer <simon@unikraft.io>
Tue, 14 Mar 2023 16:38:49 +0000 (17:38 +0100)
committerUnikraft <monkey@unikraft.io>
Sun, 7 May 2023 17:04:13 +0000 (17:04 +0000)
Commit 980bf211 enabled code for managing environment variables with musl,
however they were never populated during boot. With PR ???, `posix-environ`
envrionment variables are officially supported by Unikraft. This commit
enables and integrates this implementation with musl.

Signed-off-by: Simon Kuenzer <simon@unikraft.io>
Reviewed-by: Delia Pavel <delia_maria.pavel@stud.acs.upb.ro>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #43

Config.uk
Makefile.uk.musl.env
patches/0017-src-env-Properly-define-environ-variable.patch [deleted file]

index dc4c26ce23bff7a04b6b2cdf95bffacfc5a6e5b2..f7b36a393c61e81847fc09e068b600caf0d418d8 100644 (file)
--- a/Config.uk
+++ b/Config.uk
@@ -13,6 +13,7 @@ menuconfig LIBMUSL
   select LIBPOSIX_PROCESS_CLONE
   select LIBPOSIX_FUTEX
   select LIBUKSCHED_TCB_INIT
+  select LIBPOSIX_ENVIRON
 
   select LIBMUSL_STAT
   select LIBMUSL_DIRENT
index e69da8b461a5b05d8231df428af2365c78b3eaae..c404da17975ce23865f9ceae27fc8c299d3fe137 100644 (file)
@@ -15,16 +15,9 @@ LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/syscall.h
 LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/include/sys/mman.h
 LIBMUSL_ENV_HDRS-y += $(LIBMUSL)/src/include/unistd.h
 
-LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/clearenv.c
-LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__environ.c
-LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/getenv.c
 LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__init_tls.c
 LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__libc_start_main.c
-LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/putenv.c
 LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__reset_tls.c
-LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/secure_getenv.c
-LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/setenv.c
 LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/__stack_chk_fail.c
-LIBMUSL_ENV_SRCS-y += $(LIBMUSL)/src/env/unsetenv.c
 
 $(eval $(call _libmusl_import_lib,env,$(LIBMUSL_ENV_HDRS-y),$(LIBMUSL_ENV_SRCS-y)))
diff --git a/patches/0017-src-env-Properly-define-environ-variable.patch b/patches/0017-src-env-Properly-define-environ-variable.patch
deleted file mode 100644 (file)
index 65f8ded..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 17ebbfdf54bf48906e9a794858e82a22b4a79e92 Mon Sep 17 00:00:00 2001
-Message-Id: <17ebbfdf54bf48906e9a794858e82a22b4a79e92.1669753860.git.razvand@unikraft.io>
-From: Razvan Deaconescu <razvand@unikraft.io>
-Date: Tue, 29 Nov 2022 22:29:40 +0200
-Subject: [PATCH] src/env: Properly define environ variable
-
-`environ` is an array of pointers, the last element of which is the NULL
-pointer. The current definition of `environ` defines it as NULL, not as
-an array of pointers.
-
-This commit changes that, and defines `environ` as an array with a
-single NULL element.
-
-Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
----
- src/env/__environ.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/env/__environ.c b/src/env/__environ.c
-index e6c6faa..689b834 100644
---- a/src/env/__environ.c
-+++ b/src/env/__environ.c
-@@ -1,6 +1,7 @@
- #include "libc.h"
--char **__environ = 0;
-+static char *init_environ[] = { NULL };
-+char **__environ = init_environ;
- weak_alias(__environ, ___environ);
- weak_alias(__environ, _environ);
- weak_alias(__environ, environ);
--- 
-2.17.1
-