Commit b788f1ef authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

fio: prevent selection with unusable uClibc versions



The fio program uses posix_madvise(). However, posix_madvise() is only
available in the Git tree of uClibc, and in Buildroot's version of
uClibc 0.9.33, thanks to the huge number of backported patches that we
carry.

Therefore, trying to build fio with an external uClibc toolchain is
most likely going to fail (as the uClibc version is most likely an
official stable release, and no stable release of uClibc ever had the
support for posix_madvise()). And similarly, building fio with uClibc
0.9.31 and 0.9.32 is always going to fail. We disable those use cases
to avoid repeated autobuilder failures.

No kconfig comment has been added, because we don't have a
well-defined way of specifying such exceptions.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 569b8429
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -3,6 +3,15 @@ config BR2_PACKAGE_FIO
	depends on BR2_USE_MMU # fork()
	depends on BR2_LARGEFILE
	depends on BR2_TOOLCHAIN_HAS_THREADS
	# fio uses posix_madvise(), which is not part of any official
	# release of uClibc, but is part of uClibc Git, and backported
	# in Buildroot patch set of uClibc 0.9.33. Therefore, we
	# disable the build of fio for external uClibc toolchains
	# (which use an unknown uClibc version) and for 0.9.31 and
	# 0.9.32 which don't have posix_madvise().
	depends on !BR2_TOOLCHAIN_EXTERNAL_UCLIBC && \
		!BR2_UCLIBC_VERSION_0_9_31 && \
		!BR2_UCLIBC_VERSION_0_9_32
	help
	  fio is an I/O tool meant to be used both for benchmark
	  and stress/hardware verification.