diff options
Diffstat (limited to 'meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch')
-rw-r--r-- | meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch b/meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch new file mode 100644 index 0000000000..3a059021a7 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | ARMV5 can use STRD and LDRD access instructions but these accesses need to be | ||
2 | 8 byte aligned. The dynamic linker's malloc needs to match this so structures | ||
3 | become 8 byte aligned to void unaligned accesses. | ||
4 | |||
5 | RP - 14/02/2008 | ||
6 | |||
7 | Index: uClibc-0.9.29/ldso/ldso/arm/dl-sysdep.h | ||
8 | =================================================================== | ||
9 | --- uClibc-0.9.29.orig/ldso/ldso/arm/dl-sysdep.h 2008-02-14 00:58:12.000000000 +0000 | ||
10 | +++ uClibc-0.9.29/ldso/ldso/arm/dl-sysdep.h 2008-02-14 00:59:19.000000000 +0000 | ||
11 | @@ -15,6 +15,8 @@ | ||
12 | GOT_BASE[1] = (unsigned long) MODULE; \ | ||
13 | } | ||
14 | |||
15 | +#define DL_MALLOC_ALIGN 8 /* EABI needs 8 byte alignment for STRD LDRD*/ | ||
16 | + | ||
17 | static inline unsigned long arm_modulus(unsigned long m, unsigned long p) | ||
18 | { | ||
19 | unsigned long i,t,inc; | ||