patches/uClibc/0.9.30.1/110-arm_fix_alignment.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 04 17:27:16 2009 +0200 (2009-09-04)
changeset 1512 439a6b292917
permissions -rw-r--r--
TODO: update

Add TODO list for m4, autoconf, automake and libtool.
Building our own versions would remove burden from the users
who have older versions on their distributions, and are not
ready/able/allowed to upgrade.
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;