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