[klibc] sys/types.h -> linux/types.h and __aligned_u64

Maciej Żenczykowski zenczykowski at gmail.com
Wed Nov 23 08:31:57 PST 2011


anyone around?

2011/11/6 Maciej Żenczykowski <zenczykowski at gmail.com>:
> When building klibc 1.5.25 against linux/master (ie. post 3.1) I'm seeing:
>
> klibc/generated/include/linux/if_packet.h:176: error: expected
> specifier-qualifier-list before '__aligned_u64'
>
> which seems to come from upstream commits:
> 0d4691ce112be025019999df5f2a5e00c03f03c2 remotes/linux/master~90^2~408  (origin)
> 96c131842aab45b5d139d0bcb417796819f5ee92 remotes/linux/master~90^2~169
>  (change from aligned_u64 to __aligned_u64)
>
> and collides with klibc/usr/include/sys/types.h
>
> /* Keeps linux/types.h from getting included elsewhere */
> #define _LINUX_TYPES_H
>
> not defining __aligned_u64 like the kernel's include/linux/types.h does.
>
> Adding:
>
> --- a/klibc/usr/include/sys/types.h
> +++ b/klibc/usr/include/sys/types.h
> @@ -100,6 +100,10 @@ typedef uint16_t __sum16;
>  typedef uint32_t __sum32;
>  typedef uint64_t __sum64;
>
> +#define __aligned_u64 __u64 __attribute__((aligned(8)))
> +#define __aligned_be64 __be64 __attribute__((aligned(8)))
> +#define __aligned_le64 __le64 __attribute__((aligned(8)))
> +
>  /*
>  * Some headers seem to require this...
>  */
>
> seems to fix this (__aligned_be64/le64 aren't actually needed), but
> I'm not sure if this is the right way to go...
>
> Is the klibc git tree available somewhere?  Is there a newer version
> of klibc I should be using?
>
> Maciej
>



More information about the klibc mailing list