From 1fc5444f5620670bb9d293be4f92df59661e1810 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 20 Feb 2017 23:31:24 +0100 Subject: [PATCH] kerncompat.h: define BTRFS_DISABLE_BACKTRACE when building with uClibc uClibc does not provide backtrace() nor . When building btrfs-progs, passing --disable-backtrace is enough to make it build with uClibc. But once btrfs-progs is installed and another program/library includes kerncompat.h, it fails to build with uClibc, because BTRFS_DISABLE_BACKTRACE is not defined. The most correct fix for this would be to have kerncompat.h generated from kerncompat.h.in during the btrfs-progs build process, and tuned depending on autoconf/automake variables. But as a quick fix that follows the current strategy, we simply tweak the existing __GLIBC__ conditional. Indeed, uClibc pretends to be glibc and defines __GLIBC__, but it does not replace it completely, hence the need to define BTRFS_DISABLE_BACKTRACE when __GLIBC__ is not defined *or* when __UCLIBC__ is defined. Signed-off-by: Thomas Petazzoni --- kerncompat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kerncompat.h b/kerncompat.h index 0f207b7..e47d164 100644 --- a/kerncompat.h +++ b/kerncompat.h @@ -32,7 +32,7 @@ #include -#ifndef __GLIBC__ +#if !defined(__GLIBC__) || defined(__UCLIBC__) #ifndef BTRFS_DISABLE_BACKTRACE #define BTRFS_DISABLE_BACKTRACE #endif -- 2.7.4