From 0cd1b049b974717a0fe39778e8fa5634eee33338 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 25 Sep 2008 08:35:20 +0000 Subject: - ARMV5 can use STRD and LDRD access instructions but these accesses need to be 8 byte aligned. The dynamic linker's malloc needs to match this so structures become 8 byte aligned to void unaligned accesses. (71_all_uClibc-arm_fix_alignment.patch from gentoo) --- ldso/ldso/arm/dl-sysdep.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ldso') diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h index 2f9a37f8f..c3fc4e538 100644 --- a/ldso/ldso/arm/dl-sysdep.h +++ b/ldso/ldso/arm/dl-sysdep.h @@ -140,3 +140,7 @@ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr, *reloc_addr += load_off; } while (--relative_count); } + +#ifdef __ARM_EABI__ +#define DL_MALLOC_ALIGN 8 /* EABI needs 8 byte alignment for STRD LDRD */ +#endif -- cgit v1.2.3