From b3864d70e74192455c8db5ff7e32574f2a8fca6e Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 6 Jun 1999 09:23:32 +0000 Subject: Update. 1999-06-06 Ulrich Drepper * malloc/malloc.c: Introduce local variable __libc_getpagesize to avoid multiple calls to getpagesize() which might be a syscall. 1999-06-06 Philip Blundell * stdio-common/tstscanf.c (main): Test the half-word format "%hd". 1999-06-06 Andreas Jaeger * manual/install.texi (Running make install): Correct typo in dynamic linker invocation. 1999-06-05 Philip Blundell * sysdeps/arm/dl-machine.h (elf_machine_load_address): Fix problems with GOT addressing. 1999-06-05 Wolfram Gloger * malloc/malloc.c (check_action): Change into bitmap so that both diagnostic and abort can be requested by setting it to 3. (mALLOC_SET_STATe): Disable malloc checking if necessary. --- sysdeps/arm/dl-machine.h | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'sysdeps/arm') diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h index aff8df2238..754a6caa13 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -52,22 +52,14 @@ elf_machine_dynamic (void) /* Return the run-time load address of the shared object. */ -// patb static inline Elf32_Addr __attribute__ ((unused)) elf_machine_load_address (void) { - Elf32_Addr addr; - asm (" ldr ip,.L1 - ldr r3,.L3 - add r3, r3, sl - ldr ip,[sl, ip] - sub ip, r3, ip - b .L2 - .L1: .word _dl_start(GOT) - .L3: .word _dl_start(GOTOFF) - .L2: mov %0, ip" - : "=r" (addr) : : "ip", "r3"); - return addr; + extern void __dl_start asm ("_dl_start"); + Elf32_Addr got_addr = (Elf32_Addr) &__dl_start; + Elf32_Addr pcrel_addr; + asm ("adr %0, _dl_start" : "=r" (pcrel_addr)); + return pcrel_addr - got_addr; } -- cgit v1.2.3