[klibc] sys/types.h -> linux/types.h and __aligned_u64
Maciej Żenczykowski
zenczykowski at gmail.com
Sun Nov 6 14:33:40 PST 2011
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