[git commit master] libbb/loop.c: use common fix_u32.h trick

Denys Vlasenko vda.linux at googlemail.com
Sat Mar 6 19:50:29 UTC 2010


commit: http://git.busybox.net/busybox/commit/?id=8cb40361c0de1cf5db3b4dcfed60645504eecabf
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 include/fix_u32.h |    6 ++++++
 libbb/loop.c      |    6 +-----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/fix_u32.h b/include/fix_u32.h
index 4674e1c..f1ff3bf 100644
--- a/include/fix_u32.h
+++ b/include/fix_u32.h
@@ -8,28 +8,34 @@
 #ifndef FIX_U32_H
 #define FIX_U32_H 1
 
+#undef __u64
 #undef u64
 #undef u32
 #undef u16
 #undef u8
+#undef __s64
 #undef s64
 #undef s32
 #undef s16
 #undef s8
 
+#define __u64 bb_hack_u64
 #define u64 bb_hack_u64
 #define u32 bb_hack_u32
 #define u16 bb_hack_u16
 #define u8  bb_hack_u8
+#define __s64 bb_hack_s64
 #define s64 bb_hack_s64
 #define s32 bb_hack_s32
 #define s16 bb_hack_s16
 #define s8  bb_hack_s8
 
+typedef uint64_t __u64;
 typedef uint64_t u64;
 typedef uint32_t u32;
 typedef uint16_t u16;
 typedef uint8_t u8;
+typedef int64_t __s64;
 typedef int64_t s64;
 typedef int32_t s32;
 typedef int16_t s16;
diff --git a/libbb/loop.c b/libbb/loop.c
index a11933f..07d16e0 100644
--- a/libbb/loop.c
+++ b/libbb/loop.c
@@ -8,6 +8,7 @@
  * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  */
 #include "libbb.h"
+#include "fix_u32.h" /* hack, so we may include kernel's linux/loop.h */
 #include <linux/version.h>
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
@@ -15,11 +16,6 @@
 /* For 2.6, use the cleaned up header to get the 64 bit API. */
 /* linux/loop.h relies on __u64. Make sure we have that as a proper type
  * until userspace is widely fixed. */
-# if (defined __INTEL_COMPILER && !defined __GNUC__) \
-  || (defined __GNUC__ && defined __STRICT_ANSI__)
-__extension__ typedef long long __s64;
-__extension__ typedef unsigned long long __u64;
-# endif
 # include <linux/loop.h>
 typedef struct loop_info64 bb_loop_info;
 # define BB_LOOP_SET_STATUS LOOP_SET_STATUS64
-- 
1.6.3.3



More information about the busybox-cvs mailing list