Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/libexec/ld.elf_so/arch/arm Add a comment for EABI. Use "pop...
details: https://anonhg.NetBSD.org/src/rev/49ceef480bec
branches: trunk
changeset: 780955:49ceef480bec
user: matt <matt%NetBSD.org@localhost>
date: Mon Aug 13 02:53:25 2012 +0000
description:
Add a comment for EABI. Use "pop" instructions to save one instruction.
diffstat:
libexec/ld.elf_so/arch/arm/rtld_start.S | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diffs (39 lines):
diff -r d07bb451ddf7 -r 49ceef480bec libexec/ld.elf_so/arch/arm/rtld_start.S
--- a/libexec/ld.elf_so/arch/arm/rtld_start.S Mon Aug 13 02:52:34 2012 +0000
+++ b/libexec/ld.elf_so/arch/arm/rtld_start.S Mon Aug 13 02:53:25 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rtld_start.S,v 1.10 2009/11/11 14:15:41 skrll Exp $ */
+/* $NetBSD: rtld_start.S,v 1.11 2012/08/13 02:53:25 matt Exp $ */
/*-
* Copyright (c) 1998, 2002 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <machine/asm.h>
-RCSID("$NetBSD: rtld_start.S,v 1.10 2009/11/11 14:15:41 skrll Exp $")
+RCSID("$NetBSD: rtld_start.S,v 1.11 2012/08/13 02:53:25 matt Exp $")
.text
.align 0
@@ -58,9 +58,8 @@
bl _rtld /* call the shared loader */
mov r3, r0 /* save entry point */
- ldr r2, [sp, #0] /* r2 = cleanup */
- ldr r1, [sp, #4] /* r1 = obj_main */
- add sp, sp, #8 /* restore stack */
+ ldr r2, [sp], #4 /* pop r2 = cleanup */
+ ldr r1, [sp], #4 /* pop r1 = obj_main */
mov r0, r4 /* restore ps_strings */
#ifdef _ARM_ARCH_4T
bx r3 /* jump to the entry point */
@@ -81,7 +80,7 @@
* lr = &GOT[2]
*/
_rtld_bind_start:
- stmdb sp!,{r0-r4,sl,fp}
+ stmdb sp!,{r0-r4,sl,fp} /* 8 byte aligned (lr already saved) */
sub r1, ip, lr /* r1 = 4 * (n + 1) */
sub r1, r1, #4 /* r1 = 4 * n */
Home |
Main Index |
Thread Index |
Old Index