All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] fio: fix missing fallocate64()
@ 2014-05-09 20:42 Frank Bergmann
  2014-05-12 19:44 ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: Frank Bergmann @ 2014-05-09 20:42 UTC (permalink / raw)
  To: buildroot

Current nios2 toolchain is missing the falloacte64() function call. The
configure script does not detect this correctly and the C library is
swapping fallocate with fallocate64 while compiling with the LARGEFILE*
flags.

The patch disables fallocate in the configure script.

Fixes http://autobuild.buildroot.net/results/9cd30031a40f768f6090cfba44c880fb2406672b

Signed-off-by: Frank Bergmann <frank@frajasalo.de>
---
 .../fio-0001-nios2-configure-disable-fallocate.patch   | 18 ++++++++++++++++++
 package/fio/fio.mk                                     |  4 ++++
 2 files changed, 22 insertions(+)
 create mode 100644 board/common-nios2/fio/fio-0001-nios2-configure-disable-fallocate.patch

diff --git a/board/common-nios2/fio/fio-0001-nios2-configure-disable-fallocate.patch b/board/common-nios2/fio/fio-0001-nios2-configure-disable-fallocate.patch
new file mode 100644
index 0000000..97b8b63
--- /dev/null
+++ b/board/common-nios2/fio/fio-0001-nios2-configure-disable-fallocate.patch
@@ -0,0 +1,18 @@
+configure: Disable fallocate
+
+Signed-off-by: Frank Bergmann <frank@frajasalo.de>
+
+--- fio-fio-2.1.4.orig/configure	2013-11-16 19:15:12.000000000 +0100
++++ fio-fio-2.1.4/configure	2014-05-09 20:06:35.000000000 +0200
+@@ -578,7 +578,10 @@ int main(int argc, char **argv)
+ }
+ EOF
+ if compile_prog "" "" "linux_fallocate"; then
+-    linux_fallocate="yes"
++    # For nios2 disable fallocate because with LARGE_FILE flags it
++    # becomes fallocate64 which isn't available
++    #linux_fallocate="yes"
++    linux_fallocate="no"
+ fi
+ echo "Linux fallocate               $linux_fallocate"
+ 
diff --git a/package/fio/fio.mk b/package/fio/fio.mk
index f9a690e..311779b 100644
--- a/package/fio/fio.mk
+++ b/package/fio/fio.mk
@@ -9,6 +9,10 @@ FIO_SITE = git://git.kernel.dk/fio.git
 FIO_LICENSE = GPLv2 + special obligations
 FIO_LICENSE_FILES = LICENSE
 
+ifeq ($(BR2_nios2),y)
+BR2_GLOBAL_PATCH_DIR += "board/common-nios2"
+endif
+
 define FIO_CONFIGURE_CMDS
 	(cd $(@D); ./configure --cc="$(TARGET_CC)" --extra-cflags="$(TARGET_CFLAGS)")
 endef
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] fio: fix missing fallocate64()
  2014-05-09 20:42 [Buildroot] [PATCH 1/1] fio: fix missing fallocate64() Frank Bergmann
@ 2014-05-12 19:44 ` Thomas Petazzoni
  2014-05-19 19:34   ` Frank Bergmann
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2014-05-12 19:44 UTC (permalink / raw)
  To: buildroot

Dear Frank Bergmann,

On Fri,  9 May 2014 22:42:48 +0200, Frank Bergmann wrote:

> +ifeq ($(BR2_nios2),y)
> +BR2_GLOBAL_PATCH_DIR += "board/common-nios2"
> +endif

Unfortunately, we don't want to have architecture-specific patches, and
not applied with this mechanism.

I believe the easiest solution is just to make the fio package not
available on NIOS II.

Thanks,

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] fio: fix missing fallocate64()
  2014-05-12 19:44 ` Thomas Petazzoni
@ 2014-05-19 19:34   ` Frank Bergmann
  2014-05-19 20:15     ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: Frank Bergmann @ 2014-05-19 19:34 UTC (permalink / raw)
  To: buildroot

Dear Thomas Petazzoni,

On 12.05.2014 21:44, Thomas Petazzoni wrote:
> Dear Frank Bergmann,
>
> On Fri,  9 May 2014 22:42:48 +0200, Frank Bergmann wrote:
>
>> +ifeq ($(BR2_nios2),y)
>> +BR2_GLOBAL_PATCH_DIR += "board/common-nios2"
>> +endif
>
> Unfortunately, we don't want to have architecture-specific patches, and
> not applied with this mechanism.

Sorry I didn't take notice of that.
Maybe someone could edit chapter 3.4.4 "Customizing packages"
(http://buildroot.org/downloads/manual/manual.html#packages-custom)
where such architecture-specific patches are mentioned to avoid
misinterpreting it like I did.

With regards,
Frank Bergmann.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] fio: fix missing fallocate64()
  2014-05-19 19:34   ` Frank Bergmann
@ 2014-05-19 20:15     ` Thomas Petazzoni
  2014-05-19 20:44       ` Frank Bergmann
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2014-05-19 20:15 UTC (permalink / raw)
  To: buildroot

Dear Frank Bergmann,

On Mon, 19 May 2014 21:34:44 +0200, Frank Bergmann wrote:

> On 12.05.2014 21:44, Thomas Petazzoni wrote:
> > Dear Frank Bergmann,
> >
> > On Fri,  9 May 2014 22:42:48 +0200, Frank Bergmann wrote:
> >
> >> +ifeq ($(BR2_nios2),y)
> >> +BR2_GLOBAL_PATCH_DIR += "board/common-nios2"
> >> +endif
> >
> > Unfortunately, we don't want to have architecture-specific patches, and
> > not applied with this mechanism.
> 
> Sorry I didn't take notice of that.
> Maybe someone could edit chapter 3.4.4 "Customizing packages"
> (http://buildroot.org/downloads/manual/manual.html#packages-custom)
> where such architecture-specific patches are mentioned to avoid
> misinterpreting it like I did.

I don't think chapter 3.4.4 is wrong, but the BR2_GLOBAL_PATCH_DIR is
not meant to be used by Buildroot upstream itself. It's a way for
Buildroot *users* to apply their own custom patches on top of the
various packages that Buildroot has.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] fio: fix missing fallocate64()
  2014-05-19 20:15     ` Thomas Petazzoni
@ 2014-05-19 20:44       ` Frank Bergmann
  0 siblings, 0 replies; 5+ messages in thread
From: Frank Bergmann @ 2014-05-19 20:44 UTC (permalink / raw)
  To: buildroot

On 19.05.2014 22:15, Thomas Petazzoni wrote:
> Dear Frank Bergmann,
>
> On Mon, 19 May 2014 21:34:44 +0200, Frank Bergmann wrote:
>
>> On 12.05.2014 21:44, Thomas Petazzoni wrote:
>>> Dear Frank Bergmann,
>>>
>>> On Fri,  9 May 2014 22:42:48 +0200, Frank Bergmann wrote:
>>>
>>>> +ifeq ($(BR2_nios2),y)
>>>> +BR2_GLOBAL_PATCH_DIR += "board/common-nios2"
>>>> +endif
>>>
>>> Unfortunately, we don't want to have architecture-specific patches, and
>>> not applied with this mechanism.
>>
>> Sorry I didn't take notice of that.
>> Maybe someone could edit chapter 3.4.4 "Customizing packages"
>> (http://buildroot.org/downloads/manual/manual.html#packages-custom)
>> where such architecture-specific patches are mentioned to avoid
>> misinterpreting it like I did.
>
> I don't think chapter 3.4.4 is wrong, but the BR2_GLOBAL_PATCH_DIR is
> not meant to be used by Buildroot upstream itself. It's a way for
> Buildroot *users* to apply their own custom patches on top of the
> various packages that Buildroot has.

Ah, I understand now. Thanks for the explanation !

Regards,
Frank Bergmann.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-05-19 20:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-09 20:42 [Buildroot] [PATCH 1/1] fio: fix missing fallocate64() Frank Bergmann
2014-05-12 19:44 ` Thomas Petazzoni
2014-05-19 19:34   ` Frank Bergmann
2014-05-19 20:15     ` Thomas Petazzoni
2014-05-19 20:44       ` Frank Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.