patches/uClibc/0.9.30.1/110-arm_fix_alignment.patch
changeset 1248 5402327d22fa
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/uClibc/0.9.30.1/110-arm_fix_alignment.patch	Sun Mar 08 17:11:31 2009 +0000
     1.3 @@ -0,0 +1,23 @@
     1.4 +Original patch from Gentoo.
     1.5 +
     1.6 +-= BEGIN original header =-
     1.7 +ARMV5 can use STRD and LDRD access instructions but these accesses need to be 
     1.8 +8 byte aligned. The dynamic linker's malloc needs to match this so structures
     1.9 +become 8 byte aligned to void unaligned accesses.
    1.10 +
    1.11 +RP - 14/02/2008
    1.12 +
    1.13 +-= END original header =-
    1.14 +
    1.15 +diff -durN uClibc-0.9.30.orig/ldso/ldso/arm/dl-sysdep.h uClibc-0.9.30/ldso/ldso/arm/dl-sysdep.h
    1.16 +--- uClibc-0.9.30.orig/ldso/ldso/arm/dl-sysdep.h	2008-09-25 10:35:20.000000000 +0200
    1.17 ++++ uClibc-0.9.30/ldso/ldso/arm/dl-sysdep.h	2009-02-07 09:57:59.000000000 +0100
    1.18 +@@ -15,6 +15,8 @@
    1.19 +   GOT_BASE[1] = (unsigned long) MODULE; \
    1.20 + }
    1.21 + 
    1.22 ++#define DL_MALLOC_ALIGN 8  /* EABI needs 8 byte alignment for STRD LDRD*/
    1.23 ++
    1.24 + static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
    1.25 + {
    1.26 + 	unsigned long i,t,inc;