buildrootschalter/package/lttng-babeltrace/lttng-babeltrace-01-no-posix-fallocate-in-uclibc.patch
Thomas Petazzoni c95ba8a487 lttng-babeltrace: fix build failure on gcc14
The gcc14 machine has a moderately old host gcc, which was causing a
recurrent build failure of host-lttng-babeltrace:

 http://autobuild.buildroot.org/results/492/49216052c161874f41738e41e6e0c89a6dd04000/build-end.log

This commit adds a patch to fix this build failure, related to the
access of the ULLONG_MAX define on compilers that did not default to
the C99 variant of the C language.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-28 20:47:29 +02:00

38 lines
1.1 KiB
Diff

Do not call posix_fallocate() on uClibc
uClibc does not implement posix_fallocate(), and posix_fallocate() is
mostly only an hint to the kernel that we will need such or such
amount of space inside a file. So we just don't call posix_fallocate()
when building against uClibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Peter: add #include <features.h>
---
formats/ctf/ctf.c | 3 +++
1 file changed, 3 insertions(+)
Index: lttng-babeltrace-0.8/formats/ctf/ctf.c
===================================================================
--- lttng-babeltrace-0.8.orig/formats/ctf/ctf.c
+++ lttng-babeltrace-0.8/formats/ctf/ctf.c
@@ -32,6 +32,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
+#include <features.h>
#include <glib.h>
#include <unistd.h>
#include <stdlib.h>
@@ -384,9 +385,11 @@
}
pos->content_size = -1U; /* Unknown at this point */
pos->packet_size = WRITE_PACKET_LEN;
+#ifndef __UCLIBC__
off = posix_fallocate(pos->fd, pos->mmap_offset,
pos->packet_size / CHAR_BIT);
assert(off >= 0);
+#endif
pos->offset = 0;
} else {
read_next_packet: