diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c index 479d499..7681a5b 100644 --- a/lib/commands/toolcontext.c +++ b/lib/commands/toolcontext.c @@ -1599,7 +1599,7 @@ struct cmd_context *create_toolcontext(unsigned is_clvmd, /* 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 @@ -1980,7 +1980,7 @@ void destroy_toolcontext(struct cmd_context *cmd) if (cmd->pending_delete_mem) dm_pool_destroy(cmd->pending_delete_mem); -#ifndef VALGRIND_POOL +#if defined(__GLIBC__) && !defined(VALGRIND_POOL) if (cmd->linebuffer) { /* Reset stream buffering to defaults */ if (is_valid_fd(STDIN_FILENO) && diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c index 860e6de..c7539bd 100644 --- a/tools/lvmcmdline.c +++ b/tools/lvmcmdline.c @@ -3209,6 +3209,7 @@ int lvm_split(char *str, int *argc, char **argv, int max) /* 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) && @@ -3236,6 +3237,12 @@ static int _check_standard_fds(void) return 0; } +#else + if (!is_valid_fd(STDERR_FILENO) || + !is_valid_fd(STDOUT_FILENO) || + !is_valid_fd(STDIN_FILENO)) + return 0; +#endif return 1; } --- ./lib/mm/memlock.c.orig 2015-03-09 11:18:41.560028850 -0100 +++ ./lib/mm/memlock.c 2015-03-09 11:19:54.504373309 -0100 @@ -137,7 +137,7 @@ static void _allocate_memory(void) { -#ifndef VALGRIND_POOL +#if !defined(VALGRIND_POOL) && defined(__GLIBC__) void *stack_mem; struct rlimit limit; int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;