Mercurial > hg > aboriginal
changeset 752:9f6b0cad047c
Backport busybox bugfix that breaks non-x86 targets with gcc 4.2.1.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sat, 20 Jun 2009 01:57:35 -0500 |
parents | d0157468f73d |
children | 25adf2fe1f86 |
files | sources/patches/busybox-fixunaligned32.patch |
diffstat | 1 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/patches/busybox-fixunaligned32.patch Sat Jun 20 01:57:35 2009 -0500 @@ -0,0 +1,22 @@ +commit 3be2308676607bdb0e901d439e288081c39011a4 +Author: Denis Vlasenko <vda.linux@googlemail.com> +Date: Fri Apr 17 22:20:44 2009 +0000 + + fix move_to_unaligned32 + +diff --git a/include/platform.h b/include/platform.h +index 47fd5f6..317349f 100644 +--- a/include/platform.h ++++ b/include/platform.h +@@ -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 ------------------------------------------ */