In the function fetchuserword() call mcount() on function entry if

GPROF and PROFILE_ASM are both defined.
Fixed a bug in suswintr() and susword() that caused the value written
to be trashed.
This commit is contained in:
mark 1996-10-15 01:17:59 +00:00
parent 695e09b29a
commit 578797208e

View File

@ -1,4 +1,4 @@
/* $NetBSD: fusu.S,v 1.1 1996/08/21 19:37:43 mark Exp $ */
/* $NetBSD: fusu.S,v 1.2 1996/10/15 01:17:59 mark Exp $ */
/*
* Copyright (c) 1996 Mark Brinicombe.
@ -34,6 +34,7 @@
#include "assym.h"
ip .req r12
lr .req r14
pc .req r15
@ -58,6 +59,12 @@ pc .req r15
.global _fetchuserword
_fetchuserword:
#if defined(GPROF) && defined(PROFILE_ASM)
stmfd sp!, {lr}
mov ip, lr
bl mcount
ldmfd sp!, {lr}
#endif
ldr r2, Lvm_min_address
cmp r0, r2
bcc fusuaddrfault
@ -333,7 +340,7 @@ _suswintr:
strb r1, [r0, #0x0000]
mov r1, r1, lsr #8
strb r1, [r0, #0x0000]
strb r1, [r0, #0x0001]
mov r0, #0x00000000
str r0, [r2, #PCB_ONFAULT]
@ -367,7 +374,7 @@ _susword:
strb r1, [r0, #0x0000]
mov r1, r1, lsr #8
strb r1, [r0, #0x0000]
strb r1, [r0, #0x0001]
mov r0, #0x00000000
str r0, [r2, #PCB_ONFAULT]