[Buildroot] [PATCH v2] Update libaio to 0.3.110

Alistair Francis alistair.francis at xilinx.com
Thu Feb 18 19:41:42 UTC 2016


On Wed, Feb 17, 2016 at 3:36 PM, Arnout Vandecappelle <arnout at mind.be> wrote:
> On 17-02-16 19:51, Alistair Francis wrote:
>> Update libaio from 0.3.108 to 0.3.110. This adds AArch64 support.
>>
>> Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
>> ---
>>  package/libaio/0001-arches.patch | 322 ++++++++++++++++-----------------------
>>  package/libaio/Config.in         |   2 +-
>>  package/libaio/libaio.hash       |   4 +-
>>  package/libaio/libaio.mk         |   2 +-
>>  4 files changed, 135 insertions(+), 195 deletions(-)
>>
>> diff --git a/package/libaio/0001-arches.patch b/package/libaio/0001-arches.patch
>> index c85568c..d1c7f66 100644
>> --- a/package/libaio/0001-arches.patch
>> +++ b/package/libaio/0001-arches.patch
>> @@ -1,62 +1,15 @@
>>  Patch borrowed from OpenEmbedded, available at
>> -recipes/libaio/libaio-0.3.106/00_arches.patch in their source
>> -tree. The patch has been adapted to remove the ARM-related
>> -definitions, since they have been merged in later versions of libaio.
>
>  I wonder about this comment. The patch from openembedded _still_ has the
> addition of unistd.h.
>
>> +/meta/recipes-extended/libaio/libaio/00_arches.patch in their source
>> +tree.
>>
>> -The patch adds various architecture specific definitions (syscall
>> -number and macros) for m68k, MIPS, PA/RISC and Sparc. Amongst these,
>> -Buildroot mostly only cares about MIPS, but it was just easier to take
>> -the whole OpenEmbedded patch.
>
>  The openembedded patch doesn't have a decent commit message, so this bit should
> stay (removing the sparc bit obviously).

Ok, I have kept most of this in.

>
>> +Upstream-Status: Inappropriate [embedded specific]
>
>  That's not really true... It's completely appropriate for upstream, since it
> just adds arches.
>
>>
>> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>
>  You should add your own Sob. It's OK to remove Thomas's because you
> re-downloaded the patch from openembedded.

Ok, I have added my own SOB line.

>
>> ----
>> - src/libaio.h         |   24 +++++
>> - src/syscall-m68k.h   |   78 +++++++++++++++++
>> - src/syscall-mips.h   |  223 +++++++++++++++++++++++++++++++++++++++++++++++++++
>> - src/syscall-parisc.h |  146 +++++++++++++++++++++++++++++++++
>> - src/syscall-sparc.h  |  130 +++++++++++++++++++++++++++++
>> - src/syscall.h        |    8 +
>> - 7 files changed, 725 insertions(+)
>> +from openembedded, added by Qing He <qing.he at intel.com>
>>
> [snip]
> [- lines removed from the hunk below so the new version is visible]
>> +Index: libaio-0.3.110/src/syscall-arm.h
>>  ===================================================================
>> +--- libaio-0.3.110.orig/src/syscall-arm.h
>> ++++ libaio-0.3.110/src/syscall-arm.h
>> +@@ -114,3 +114,119 @@ type fname(type1 arg1, type2 arg2, type3
>> +   return (type) __res_r0;                                           \
>> + }
>> +
>>  +/*
>> ++ *  linux/include/asm-arm/unistd.h
>>  + *
>> ++ *  Copyright (C) 2001-2005 Russell King
>>  + *
>> ++ * This program is free software; you can redistribute it and/or modify
>> ++ * it under the terms of the GNU General Public License version 2 as
>> ++ * published by the Free Software Foundation.
>>  + *
>> ++ * Please forward _all_ changes to this file to rmk at arm.linux.org.uk,
>> ++ * no matter what the change is.  Thanks!
>>  + */
>>  +
>> ++#define __NR_OABI_SYSCALL_BASE      0x900000
>
>  This is completely wrong, it's exactly the same text that was already there,
> repeated a second time...
>
>  I think it would be better to not simply copy the openembedded patch, instead
> simply taking the mips bit and nothing else.

Fair enough. I have modified the patch to just add MIPS support.

Thanks,

Alistair

>
>  And then that bit could be upstreamed, too!
>
>
>  Regards,
>  Arnout
>
>
>>  +
>> ++#if defined(__thumb__) || defined(__ARM_EABI__)
>> ++#define __NR_SYSCALL_BASE   0
>> ++#else
>> ++#define __NR_SYSCALL_BASE   __NR_OABI_SYSCALL_BASE
>> ++#endif
>>  +
>> ++#define __NR_io_setup                       (__NR_SYSCALL_BASE+243)
>> ++#define __NR_io_destroy                     (__NR_SYSCALL_BASE+244)
>> ++#define __NR_io_getevents           (__NR_SYSCALL_BASE+245)
>> ++#define __NR_io_submit                      (__NR_SYSCALL_BASE+246)
>> ++#define __NR_io_cancel                      (__NR_SYSCALL_BASE+247)
>>  +
>> ++#define __sys2(x) #x
>> ++#define __sys1(x) __sys2(x)
>> ++
>> ++#if defined(__thumb__) || defined(__ARM_EABI__)
>> ++#define __SYS_REG(name) register long __sysreg __asm__("r7") = __NR_##name;
>> ++#define __SYS_REG_LIST(regs...) "r" (__sysreg) , ##regs
>> ++#define __syscall(name) "swi\t0"
>> ++#else
>> ++#define __SYS_REG(name)
>> ++#define __SYS_REG_LIST(regs...) regs
>> ++#define __syscall(name) "swi\t" __sys1(__NR_##name) ""
>> ++#endif
>> ++
> [snip]
>
>
> --
> Arnout Vandecappelle                          arnout at mind be
> Senior Embedded Software Architect            +32-16-286500
> Essensium/Mind                                http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF


More information about the buildroot mailing list