ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/utils/lvm2/patches/002-const-stdio.patch b/external/subpack/utils/lvm2/patches/002-const-stdio.patch
new file mode 100644
index 0000000..070e834
--- /dev/null
+++ b/external/subpack/utils/lvm2/patches/002-const-stdio.patch
@@ -0,0 +1,43 @@
+--- a/lib/commands/toolcontext.c
++++ b/lib/commands/toolcontext.c
+@@ -1673,7 +1673,7 @@ struct cmd_context *create_toolcontext(u
+ /* FIXME Make this configurable? */
+ reset_lvm_errno(1);
+
+-#ifndef VALGRIND_POOL
++#if defined(__GLIBC__) && !defined(VALGRIND_POOL)
+ /* Set in/out stream buffering before glibc */
+ if (set_buffering
+ #ifdef SYS_gettid
+@@ -2053,7 +2053,7 @@ void destroy_toolcontext(struct cmd_cont
+ dm_hash_destroy(cmd->cft_def_hash);
+
+ dm_device_list_destroy(&cmd->cache_dm_devs);
+-#ifndef VALGRIND_POOL
++#if defined(__GLIBC__) && !defined(VALGRIND_POOL)
+ if (cmd->linebuffer) {
+ /* Reset stream buffering to defaults */
+ if (is_valid_fd(STDIN_FILENO) &&
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -3398,6 +3398,7 @@ int lvm_split(char *str, int *argc, char
+ /* Make sure we have always valid filedescriptors 0,1,2 */
+ static int _check_standard_fds(void)
+ {
++#ifdef __GLIBC__
+ int err = is_valid_fd(STDERR_FILENO);
+
+ if (!is_valid_fd(STDIN_FILENO) &&
+@@ -3424,6 +3425,12 @@ static int _check_standard_fds(void)
+ strerror(errno));
+ return 0;
+ }
++#else
++ if (!is_valid_fd(STDERR_FILENO) ||
++ !is_valid_fd(STDOUT_FILENO) ||
++ !is_valid_fd(STDIN_FILENO))
++ return 0;
++#endif
+
+ return 1;
+ }