Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/arm/arm32 kobj_machdep() is now called multiple tim...



details:   https://anonhg.NetBSD.org/src/rev/f2795a88a9d4
branches:  trunk
changeset: 346387:f2795a88a9d4
user:      martin <martin%NetBSD.org@localhost>
date:      Mon Jul 11 15:51:01 2016 +0000

description:
kobj_machdep() is now called multiple times for the same module.
Only do arm-BE8 symbol fixup when called for the text segment.

diffstat:

 sys/arch/arm/arm32/kobj_machdep.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r 04a92d48c009 -r f2795a88a9d4 sys/arch/arm/arm32/kobj_machdep.c
--- a/sys/arch/arm/arm32/kobj_machdep.c Mon Jul 11 14:53:05 2016 +0000
+++ b/sys/arch/arm/arm32/kobj_machdep.c Mon Jul 11 15:51:01 2016 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kobj_machdep.c,v 1.10 2014/11/07 21:28:32 martin Exp $ */
+/*     $NetBSD: kobj_machdep.c,v 1.11 2016/07/11 15:51:01 martin Exp $ */
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -52,7 +52,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kobj_machdep.c,v 1.10 2014/11/07 21:28:32 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kobj_machdep.c,v 1.11 2016/07/11 15:51:01 martin Exp $");
 
 #define        ELFSIZE         ARCH_ELFSIZE
 
@@ -399,7 +399,7 @@
 
        if (load) {
 #if __ARMEB__
-               if (CPU_IS_ARMV7_P())
+               if (CPU_IS_ARMV7_P() && base == (void*)ko->ko_text_address)
                        kobj_be8_fixup(ko);
 #endif
 #ifndef _RUMPKERNEL



Home | Main Index | Thread Index | Old Index