]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
lib/ukboot: Print environment variables before entering main
authorSimon Kuenzer <simon@unikraft.io>
Thu, 16 Mar 2023 16:31:42 +0000 (17:31 +0100)
committerUnikraft <monkey@unikraft.io>
Sun, 7 May 2023 16:44:41 +0000 (16:44 +0000)
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: #868

lib/ukboot/boot.c

index 01d74ad6b93a6f2a8f4d6b9bc372e6e0712abf4f..836d0456fbef8621c77c4fe8b56e0bfbe999e205 100644 (file)
@@ -224,9 +224,16 @@ void ukplat_entry_argp(char *arg0, char *argb, __sz argb_len)
        ukplat_entry(argc, argv);
 }
 
+#if CONFIG_LIBPOSIX_ENVIRON
+extern char **environ;
+#endif /* CONFIG_LIBPOSIX_ENVIRON */
+
 /* defined in <uk/plat.h> */
 void ukplat_entry(int argc, char *argv[])
 {
+#if CONFIG_LIBPOSIX_ENVIRON
+       char **envp;
+#endif /* CONFIG_LIBPOSIX_ENVIRON */
        int rc = 0;
 #if CONFIG_LIBUKALLOC
        struct uk_alloc *a = NULL;
@@ -380,6 +387,17 @@ void ukplat_entry(int argc, char *argv[])
                (*ctorfn)();
        }
 
+#if CONFIG_LIBPOSIX_ENVIRON
+       envp = environ;
+       if (envp) {
+               uk_pr_info("Environment variables:\n");
+               while (*envp) {
+                       uk_pr_info("\t%s\n", *envp);
+                       envp++;
+               }
+       }
+#endif /* CONFIG_LIBPOSIX_ENVIRON */
+
        uk_pr_info("Calling main(%d, [", argc);
        for (i = 0; i < argc; ++i) {
                uk_pr_info("'%s'", argv[i]);