Source-Changes-HG archive

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

[src/netbsd-3]: src/libexec/ld.elf_so/arch/powerpc Pull up following revision...



details:   https://anonhg.NetBSD.org/src/rev/497905d4302b
branches:  netbsd-3
changeset: 577283:497905d4302b
user:      tron <tron%NetBSD.org@localhost>
date:      Sat Oct 01 10:33:01 2005 +0000

description:
Pull up following revision(s) (requested by chs in ticket #834):
        libexec/ld.elf_so/arch/powerpc/ppc_reloc.c: revision 1.38
fix two problems with icache invalidation of the PLT:
 - restore revision 1.33, it was correct.
 - fix pointer arithmetic in other calls to __syncicache().

diffstat:

 libexec/ld.elf_so/arch/powerpc/ppc_reloc.c |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (36 lines):

diff -r 6dca8c3859b9 -r 497905d4302b libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
--- a/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c        Sat Oct 01 05:59:00 2005 +0000
+++ b/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c        Sat Oct 01 10:33:01 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ppc_reloc.c,v 1.35 2003/07/24 10:12:29 skrll Exp $     */
+/*     $NetBSD: ppc_reloc.c,v 1.35.6.1 2005/10/01 10:33:01 tron Exp $  */
 
 /*-
  * Copyright (C) 1998  Tsubai Masanari
@@ -82,7 +82,7 @@
        pltresolve[3] |= ha(obj);
        pltresolve[4] |= l(obj);
 
-       __syncicache(pltcall, 72 + N * 8);
+       __syncicache(pltcall, 72 + N * 12);
 }
 
 void
@@ -211,7 +211,7 @@
                /* b    pltresolve */
                distance = (Elf_Addr)pltresolve - (Elf_Addr)where;
                *where++ = 0x48000000 | (distance & 0x03fffffc);
-               /* __syncicache(where - 12, 12); */
+               /* __syncicache(where - 3, 12); */
        }
 
        return 0;
@@ -267,7 +267,7 @@
                /* b    pltcall */
                distance = (Elf_Addr)pltcall - (Elf_Addr)where;
                *where++ = 0x48000000 | (distance & 0x03fffffc);
-               __syncicache(where - 12, 12);
+               __syncicache(where - 3, 12);
        }
 
        return (caddr_t)value;



Home | Main Index | Thread Index | Old Index