summaryrefslogtreecommitdiff
path: root/package/busybox/busybox-1.14.0-unaligned.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/busybox-1.14.0-unaligned.patch')
-rw-r--r--package/busybox/busybox-1.14.0-unaligned.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.14.0-unaligned.patch b/package/busybox/busybox-1.14.0-unaligned.patch
new file mode 100644
index 000000000..1306e2121
--- /dev/null
+++ b/package/busybox/busybox-1.14.0-unaligned.patch
@@ -0,0 +1,14 @@
+--- busybox-1.14.0/include/platform.h Tue Apr 14 01:43:05 2009
++++ busybox-1.14.0-unaligned/include/platform.h Sat Apr 18 00:14:34 2009
+@@ -173,7 +173,10 @@
+ /* performs reasonably well (gcc usually inlines memcpy here) */
+ #define move_from_unaligned16(v, u16p) (memcpy(&(v), (u16p), 2))
+ #define move_from_unaligned32(v, u32p) (memcpy(&(v), (u32p), 4))
+-#define move_to_unaligned32(u32p, v) (memcpy((u32p), &(v), 4))
++#define move_to_unaligned32(u32p, v) do { \
++ uint32_t __t = (v); \
++ memcpy((u32p), &__t, 4); \
++} while (0)
+ #endif
+
+ /* ---- Networking ------------------------------------------ */