patches/uClibc/0.9.30.1/110-arm_fix_alignment.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 31 16:23:27 2011 +0100 (2011-12-31)
changeset 2814 3dc2727ebffc
permissions -rw-r--r--
cc/gcc: add option to use system zlib

In some cases, it might be desirable to use the system zlib

Eg. because latest gcc seem to be totally borked when it comes
to multilib, and tries to build a multilib host zlib, when it
is *absolutely* *not* needed: we want mulitlib on the target,
not on the host! Sigh... :-(

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