commit b40da22357563bf53fa93823342f8ab59899222d

Cristian Ionescu-Idbohrn cristian.ionescu-idbohrn at axis.com
Sat Jan 22 10:46:02 UTC 2011


This move of the 3 typedefs:

diff --git a/include/platform.h b/include/platform.h
index 6328ff6..cbde7bc 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -218,14 +218,15 @@

 /* ---- Unaligned access ------------------------------------ */

+typedef int      bb__aliased_int      FIX_ALIASING;
+typedef uint16_t bb__aliased_uint16_t FIX_ALIASING;
+typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
+
 /* NB: unaligned parameter should be a pointer, aligned one -
  * a lvalue. This makes it more likely to not swap them by mistake
  */
 #if defined(i386) || defined(__x86_64__) || defined(__powerpc__)
 # include <stdint.h>
-typedef int      bb__aliased_int      FIX_ALIASING;
-typedef uint16_t bb__aliased_uint16_t FIX_ALIASING;
-typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
 # define move_from_unaligned_int(v, intp) ((v) = *(bb__aliased_int*)(intp))
 # define move_from_unaligned16(v, u16p) ((v) = *(bb__aliased_uint16_t*)(u16p))
 # define move_from_unaligned32(v, u32p) ((v) = *(bb__aliased_uint32_t*)(u32p))


led to breakage:

  HOSTCC  applets/applet_tables
In file included from applets/../include/libbb.h:13,
                 from applets/../include/busybox.h:10,
                 from applets/applet_tables.c:16:
applets/../include/platform.h:222: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'bb__aliased_uint16_t'
applets/../include/platform.h:223: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'bb__aliased_uint32_t'
make[1]: *** [applets/applet_tables] Error 1
make: *** [applets_dir] Error 2


Back to normal with this patch:

diff --git a/include/platform.h b/include/platform.h
index cbde7bc..bbbc0a9 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -218,6 +218,7 @@

 /* ---- Unaligned access ------------------------------------ */

+#include <stdint.h>
 typedef int      bb__aliased_int      FIX_ALIASING;
 typedef uint16_t bb__aliased_uint16_t FIX_ALIASING;
 typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
@@ -226,7 +227,6 @@ typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
  * a lvalue. This makes it more likely to not swap them by mistake
  */
 #if defined(i386) || defined(__x86_64__) || defined(__powerpc__)
-# include <stdint.h>
 # define move_from_unaligned_int(v, intp) ((v) = *(bb__aliased_int*)(intp))
 # define move_from_unaligned16(v, u16p) ((v) = *(bb__aliased_uint16_t*)(u16p))
 # define move_from_unaligned32(v, u32p) ((v) = *(bb__aliased_uint32_t*)(u32p))


Cheers,

-- 
Cristian


More information about the busybox mailing list