From ecab701ed849403b1804407d85288c4cfbe7bff8 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Sat, 17 Feb 2007 17:55:45 +0000 Subject: Make _dl_malloc alignment arch configurable. From Atsushi Nemoto. --- ldso/ldso/ldso.c | 7 ++++--- ldso/ldso/mips/dl-sysdep.h | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'ldso/ldso') diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index cf8ba5f9d..8c6a5f27f 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -950,10 +950,11 @@ void *_dl_malloc(int size) _dl_malloc_addr += size; /* - * Align memory to 4 byte boundary. Some platforms require this, - * others simply get better performance. + * Align memory to DL_MALLOC_ALIGN byte boundary. Some + * platforms require this, others simply get better + * performance. */ - _dl_malloc_addr = (unsigned char *) (((unsigned long) _dl_malloc_addr + 3) & ~(3)); + _dl_malloc_addr = (unsigned char *) (((unsigned long) _dl_malloc_addr + DL_MALLOC_ALIGN - 1) & ~(DL_MALLOC_ALIGN - 1)); return retval; } diff --git a/ldso/ldso/mips/dl-sysdep.h b/ldso/ldso/mips/dl-sysdep.h index 19f6812a1..d6fc141bb 100644 --- a/ldso/ldso/mips/dl-sysdep.h +++ b/ldso/ldso/mips/dl-sysdep.h @@ -214,3 +214,7 @@ elf_machine_relative (ElfW(Addr) load_off, const ElfW(Addr) rel_addr, { /* No RELATIVE relocs in MIPS? */ } + +#ifdef __mips64 +#define DL_MALLOC_ALIGN 8 /* N64/N32 needs 8 byte alignment */ +#endif -- cgit v1.2.3