[Buildroot] [PATCH] uclibc: patch 0.9.31 for avr32, to add __kernel_long_t and __kernel_ulong_t data types

Thomas De Schampheleire patrickdepinguin at gmail.com
Fri Nov 15 09:03:44 UTC 2013


Hi Simon,

On Fri, Nov 15, 2013 at 9:59 AM,  <spdawson at gmail.com> wrote:
> From: Simon Dawson <spdawson at gmail.com>
>
> As reported by Thomas Petazzoni, the uclibc 0.9.31 build fails for avr32:
>
> In file included from /opt/br-avr32-full-2013.11-rc1/usr/avr32-buildroot-linux-uclibc/sysroot/usr/include/linux/kernel.h:4,
>                  from /opt/br-avr32-full-2013.11-rc1/usr/avr32-buildroot-linux-uclibc/sysroot/usr/include/linux/netlink.h:4,
>                  from /opt/br-avr32-full-2013.11-rc1/usr/avr32-buildroot-linux-uclibc/sysroot/usr/include/linux/rtnetlink.h:5,
>                  from libc/inet/netlinkaccess.h:27,
>                  from libc/inet/if_index.c:36:
> /opt/br-avr32-full-2013.11-rc1/usr/avr32-buildroot-linux-uclibc/sysroot/usr/include/linux/sysinfo.h:8: error: expected specifier-qualifier-list before '__kernel_long_t'
> make[1]: *** [libc/inet/if_index.os] Error 1
> make[1]: Leaving directory `/opt/toolchain-build/build/uclibc-0.9.31.1'
>
> The problem is reported at:
>
>   https://lkml.org/lkml/2013/5/18/1
>
> The offending kernel commit is:
>
>   http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=ccdfcc398594
>
> The fix is to patch uclibc 0.9.31 to add the missing kernel data types. The patch
> will only be generated for avr32, since uclibc 0.9.31 is not available in Buildroot
> for any other architecture.
>
> Signed-off-by: Simon Dawson <spdawson at gmail.com>
> ---
>  ...add-__kernel_long-and-__kernel_ulong.patch.avr32 | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>  create mode 100644 package/uclibc/0.9.31.1/uclibc-0013-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch.avr32

A few buildroot developer days ago, we said we'd like to get rid of
architecture-specific patching. IIRC avr32 was the only architecture
having such patches. Is it possible to make such patches 'common' in
the sense that they are always named .patch and thus applied for all
architectures?
If the contents should really only be applied to avr32, is it a
possibility to use some #ifdef inside the patch?

Thanks,
Thomas



More information about the buildroot mailing list