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/x86_64 Eliminate GOT usage in rtld_st...
details: https://anonhg.NetBSD.org/src/rev/f6b5b912e878
branches: trunk
changeset: 543604:f6b5b912e878
user: mycroft <mycroft%NetBSD.org@localhost>
date: Fri Feb 28 22:37:35 2003 +0000
description:
Eliminate GOT usage in rtld_start() on this platform, too.
diffstat:
libexec/ld.elf_so/arch/x86_64/rtld_start.S | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diffs (32 lines):
diff -r 4fac77975006 -r f6b5b912e878 libexec/ld.elf_so/arch/x86_64/rtld_start.S
--- a/libexec/ld.elf_so/arch/x86_64/rtld_start.S Fri Feb 28 22:07:05 2003 +0000
+++ b/libexec/ld.elf_so/arch/x86_64/rtld_start.S Fri Feb 28 22:37:35 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rtld_start.S,v 1.5 2002/11/24 18:16:45 fvdl Exp $ */
+/* $NetBSD: rtld_start.S,v 1.6 2003/02/28 22:37:35 mycroft Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -46,18 +46,16 @@
movq %rsp,%r12 # stack pointer arg to _rtld
pushq %rbx # save ps_strings
- leaq _GLOBAL_OFFSET_TABLE_(%rip),%rbx
- movq _GLOBAL_OFFSET_TABLE_@GOTPCREL(%rip),%rdx
- subq %rdx,%rbx # %rbx = relocbase
+ leaq _GLOBAL_OFFSET_TABLE_(%rip),%rax
+ leaq _DYNAMIC(%rip),%rdi # &_DYNAMIC
+ movq %rdi,%rbx
+ subq (%rax),%rbx # relocbase
- movq _DYNAMIC@GOTPCREL(%rip),%rdi
- addq %rbx,%rdi
movq %rbx,%rsi
call _rtld_relocate_nonplt_self@PLT
movq %r12,%rdi
movq %rbx,%rsi
-
call _rtld@PLT # _rtld(sp, relocbase)
popq %rbx # %rbx = ps_strings
Home |
Main Index |
Thread Index |
Old Index