patches/uClibc/0.9.30.2/110-arm_fix_alignment.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 26 13:30:51 2012 +0100 (2012-12-26)
changeset 3145 598880dab0f3
permissions -rw-r--r--
libc/glibc: both glibc and eglibc have pkgversion and bugurl

Well, all eglibc version we support do, and latest glibc versions
we support do.

Not all glibc versions do, but older versions simply ignore the
unrecognised ./configure flags.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
jocke@1737
     1
Original patch from Gentoo.
jocke@1737
     2
jocke@1737
     3
-= BEGIN original header =-
jocke@1737
     4
ARMV5 can use STRD and LDRD access instructions but these accesses need to be 
jocke@1737
     5
8 byte aligned. The dynamic linker's malloc needs to match this so structures
jocke@1737
     6
become 8 byte aligned to void unaligned accesses.
jocke@1737
     7
jocke@1737
     8
RP - 14/02/2008
jocke@1737
     9
jocke@1737
    10
-= END original header =-
jocke@1737
    11
jocke@1737
    12
Modified slightly for uClibc-0.9.30.2 by Joachim Nilsson <jocke@vmlinux.org>
jocke@1737
    13
jocke@1737
    14
diff -durN uClibc-0.9.30.orig/ldso/ldso/arm/dl-sysdep.h uClibc-0.9.30/ldso/ldso/arm/dl-sysdep.h
jocke@1737
    15
--- uClibc-0.9.30.orig/ldso/ldso/arm/dl-sysdep.h	2008-09-25 10:35:20.000000000 +0200
jocke@1737
    16
+++ uClibc-0.9.30/ldso/ldso/arm/dl-sysdep.h	2009-02-07 09:57:59.000000000 +0100
jocke@1737
    17
@@ -15,6 +15,8 @@
jocke@1737
    18
   GOT_BASE[1] = (unsigned long) MODULE; \
jocke@1737
    19
 }
jocke@1737
    20
 
jocke@1737
    21
+#define DL_MALLOC_ALIGN 8  /* EABI needs 8 byte alignment for STRD LDRD*/
jocke@1737
    22
+
jocke@1737
    23
 static __always_inline unsigned long arm_modulus(unsigned long m, unsigned long p)
jocke@1737
    24
 {
jocke@1737
    25
 	unsigned long i,t,inc;