kumquat-buildroot/package/lttng-tools/0001-Fix-build-failure-when-__GLIBC_PREREQ-is-missing.patch
Baruch Siach 4a51f2d05c lttng-tools: fix musl build
Add two patches fixing musl build issues:

  * musl doesn't provide the __GLIBC_PREREQ macro

  * musl requires sys/types.h for mode_t

Fixes:
http://autobuild.buildroot.net/results/ac9/ac9aa3b6c468a0a6ba84758d3c9c8acc20d7fa00/
http://autobuild.buildroot.net/results/40f/40f11afb0512a89dcdad332d28ff1c5fcc435e7f/
http://autobuild.buildroot.net/results/3c6/3c66b5f05b482f33d1bc6eabe817f6d7aa21086d/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-08 21:00:08 +01:00

56 lines
1.8 KiB
Diff

From: Baruch Siach <baruch@tkos.co.il>
Date: Tue, 8 Mar 2016 14:25:34 +0200
Subject: [PATCH] Fix: build failure when __GLIBC_PREREQ is missing
The musl C library does not provide the __GLIBC_PREREQ macro. Instead of
relying on glibc version test, check directly for the availability of
epoll_create1().
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Patch status: sent upstream rebased on master branch
(http://lists.lttng.org/pipermail/lttng-dev/2016-March/025593.html)
configure.ac | 2 +-
src/common/compat/poll.h | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 66d83b60b017..4fc1160c9a08 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,7 +70,7 @@ AC_CHECK_FUNCS([ \
gethostbyname gethostname getpagesize localtime_r memchr memset \
mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
strncasecmp strndup strpbrk strrchr strstr strtol strtoul \
- strtoull \
+ strtoull epoll_create1 \
])
# Babeltrace viewer check
diff --git a/src/common/compat/poll.h b/src/common/compat/poll.h
index 699901848dc1..84f25d5c85aa 100644
--- a/src/common/compat/poll.h
+++ b/src/common/compat/poll.h
@@ -73,7 +73,7 @@ enum {
LPOLLNVAL = EPOLLHUP,
LPOLLRDHUP = EPOLLRDHUP,
/* Close on exec feature of epoll */
-#if __GLIBC_PREREQ(2, 9)
+#if defined(HAVE_EPOLL_CREATE1) && defined(EPOLL_CLOEXEC)
LTTNG_CLOEXEC = EPOLL_CLOEXEC,
#else
/*
@@ -127,7 +127,7 @@ extern int compat_epoll_create(struct lttng_poll_event *events,
#define lttng_poll_create(events, size, flags) \
compat_epoll_create(events, size, flags)
-#if __GLIBC_PREREQ(2, 9)
+#if defined(HAVE_EPOLL_CREATE1) && defined(EPOLL_CLOEXEC)
static inline int compat_glibc_epoll_create(int size __attribute__((unused)),
int flags)
{
--
2.7.0