Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-6]: src/libexec/ld.elf_so/arch/alpha Pull up revision 1.3 (requ...



details:   https://anonhg.NetBSD.org/src/rev/1e3649f1fe97
branches:  netbsd-1-6
changeset: 529577:1e3649f1fe97
user:      he <he%NetBSD.org@localhost>
date:      Sat Nov 30 14:21:52 2002 +0000

description:
Pull up revision 1.3 (requested by thorpej in ticket #774):
  There is no need to do an imb after each call to the binder,
  because we only patch the GOT, not the PLT.  However, do
  an imb when setting up the PLT thunk, just in case.

diffstat:

 libexec/ld.elf_so/arch/alpha/alpha_reloc.c |  14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diffs (28 lines):

diff -r c367c47dbdf1 -r 1e3649f1fe97 libexec/ld.elf_so/arch/alpha/alpha_reloc.c
--- a/libexec/ld.elf_so/arch/alpha/alpha_reloc.c        Sat Nov 30 14:18:04 2002 +0000
+++ b/libexec/ld.elf_so/arch/alpha/alpha_reloc.c        Sat Nov 30 14:21:52 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: alpha_reloc.c,v 1.2 2001/12/14 00:53:07 thorpej Exp $  */
+/*     $NetBSD: alpha_reloc.c,v 1.2.2.1 2002/11/30 14:21:52 he Exp $   */
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -103,12 +103,12 @@
                adbg(("ALPHA: object %p has old PLT format\n", obj));
                obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start_old;
                obj->pltgot[3] = (Elf_Addr) obj;
-
-               return;
+       } else {
+               /* New PLT entry format. */
+               adbg(("ALPHA: object %p has new PLT format\n", obj));
+               obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start;
+               obj->pltgot[3] = (Elf_Addr) obj;
        }
 
-       /* New PLT entry format. */
-       adbg(("ALPHA: object %p has new PLT format\n", obj));
-       obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start;
-       obj->pltgot[3] = (Elf_Addr) obj;
+       __asm __volatile("imb");
 }



Home | Main Index | Thread Index | Old Index