[Buildroot] [PATCH] util-linux: disable fallocate for avr32

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sun Nov 3 10:34:07 UTC 2013


Simon,

On Sun,  3 Nov 2013 09:56:25 +0000, spdawson at gmail.com wrote:
> From: Simon Dawson <spdawson at gmail.com>
> 
> The fallocate syscall is not implemented in the avr32 toolchain.
> 
> Fixes build failures such as the following.
> 
>   http://autobuild.buildroot.net/results/bc4/bc41a3fea20181526eb247ac910244aa2aa4c4c0/
> 
> Signed-off-by: Simon Dawson <spdawson at gmail.com>
> ---
>  package/util-linux/Config.in | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
> index 41e0986..d56e631 100644
> --- a/package/util-linux/Config.in
> +++ b/package/util-linux/Config.in
> @@ -72,6 +72,7 @@ config BR2_PACKAGE_UTIL_LINUX_EJECT
>  
>  config BR2_PACKAGE_UTIL_LINUX_FALLOCATE
>  	bool "fallocate"
> +	depends on !BR2_avr32 # fallocate not implemented
>  	help
>  	  Preallocate space to a file
>  

Situation is a bit fuzzy here.

We have added a patch to uClibc that implements fallocate support:
package/uclibc/0.9.33.2/uclibc-0041-libc-add-posix_fallocate.patch. So
internal toolchains based on 0.9.33.2 should now have fallocate support.

However:

 * The AVR32 toolchain used in the autobuilders predates the addition
   of this patch, and therefore does not have the fallocate support
   (the autobuilders uses a Buildroot generated toolchain, but
   generated with Buildroot 2013.05).

 * The AVR32 support at the moment is using 0.9.33.2, but you told us
   that 0.9.33.2 is basically not working properly on AVR32, and that
   reverting to 0.9.31 was the only solution to get a working AVR32
   system. This would indeed mean that fallocate support would not be
   available on AVR32 (but it would more be related to the uClibc
   version rather than the architecture).

 * A larger problem that I have already raised several times is that
   adding feature patches to the uClibc package in Buildroot is causing
   issues with external toolchain support for uClibc toolchains. These
   external toolchains are very unlikely to carry the same backported
   feature patches as we do, and therefore the build will break with
   those external toolchains if Buildroot relies on uClibc having those
   features.

I'm Cc'ing Arnout, Peter, Yann and Thomas DS on this one, because we
really need to define a policy on this topic.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list