Browse Source

- 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)

Bernhard Reutner-Fischer 15 years ago
parent
commit
0cd1b049b9
1 changed files with 4 additions and 0 deletions
  1. 4 0
      ldso/ldso/arm/dl-sysdep.h

+ 4 - 0
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