[Buildroot] [PATCH 1/1] e2fsprogs: fix missing fallocate64() on nios2

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Feb 18 21:19:37 UTC 2014


Dear Frank Bergmann,

Please send your patches with "git send-email". Thunderbird has badly
replaces the tabs by spaces.

On Sat, 15 Feb 2014 19:52:01 +0100, Frank Bergmann wrote:
> Nios2 is currently missing the fallocate64 system call. Because of
> compiling the e2fsprogs package with _FILE_OFFSET_BITS=64 the fallocate
> call is replaced by fallocate64 by the glibc. Therefor fallocate is
> entirely disbaled while configuring the package.

Therefor -> Therefore
disbaled -> disabled

> 
> e4defrag have to be disabled because it declares the fallocate64 but
> the library have its own defined.

Not sure I understand this part.

> 
> It fixes an autobuilder issue:
> http://autobuild.buildroot.org/results/70a/70a47bd7392560cbc1c64769c8357c0b4c91ca3b/
> 
> Signed-off-by: Frank Bergmann <frank at frajasalo.de>
> ---
>   package/e2fsprogs/Config.in    | 2 +-
>   package/e2fsprogs/e2fsprogs.mk | 3 ++-
>   2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
> index 7775e94..1e87aef 100644
> --- a/package/e2fsprogs/Config.in
> +++ b/package/e2fsprogs/Config.in
> @@ -49,7 +49,7 @@ config BR2_PACKAGE_E2FSPROGS_E2UNDO
> 
>   config BR2_PACKAGE_E2FSPROGS_E4DEFRAG
>          bool "e4defrag"
> -       depends on !BR2_avr32 # fallocate not implemented
> +       depends on !BR2_avr32 && !BR2_nios2 # fallocate not implemented
> 
>   config BR2_PACKAGE_E2FSPROGS_FILEFRAG
>          bool "filefrag"
> diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
> index 2eb59f5..310f549 100644
> --- a/package/e2fsprogs/e2fsprogs.mk
> +++ b/package/e2fsprogs/e2fsprogs.mk
> @@ -23,7 +23,8 @@ E2FSPROGS_CONF_OPT = \
>          --disable-libuuid \
>          --enable-fsck \
>          --disable-e2initrd-helper \
> -       --disable-testio-debug
> +       --disable-testio-debug \
> +       $(if $(BR2_nios2),ac_cv_func_fallocate=no,)

Such variables are normally passed in <pkg>_CONF_ENV. Also, in
Config.in, the fallocate problem seems to also apply for AVR32, while
you only pass ac_cv_func_fallocate=no for NIOS II here. Could you
explain why?

Thanks,

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



More information about the buildroot mailing list