Added
This commit is contained in:
parent
8a44c33e9f
commit
023b747e63
1
mach/sparc/libdb/.distr
Normal file
1
mach/sparc/libdb/.distr
Normal file
|
@ -0,0 +1 @@
|
|||
machdep.s
|
64
mach/sparc/libdb/machdep.s
Normal file
64
mach/sparc/libdb/machdep.s
Normal file
|
@ -0,0 +1,64 @@
|
|||
.globl ___Get_PC, ___Set_PC
|
||||
|
||||
! $Header$
|
||||
|
||||
! This is the machine-dependant part of the ACK debugger support.
|
||||
! ___Get_PC takes a frame pointer (local base) argument and returns the
|
||||
! return address from this frame.
|
||||
! ___Set_PC takes a frame pointer (local base) argument plus a return
|
||||
! address and sets the return address of this frame to the
|
||||
! return address supplied.
|
||||
|
||||
___Get_PC:
|
||||
ld [%l0],%o0
|
||||
tst %o0
|
||||
beq 3f
|
||||
nop
|
||||
cmp %o0,%l1
|
||||
bne 1f
|
||||
nop
|
||||
add %i7, 8, %o0
|
||||
3:
|
||||
retl
|
||||
nop
|
||||
1:
|
||||
ta 3
|
||||
add %l1,%g0,%o1
|
||||
2: add %o1,7,%o2
|
||||
andn %o2,7,%o2
|
||||
ld [%o2+4],%o1
|
||||
cmp %o0,%o1
|
||||
bne 2b
|
||||
nop
|
||||
ld [%o2+0x3c],%o0
|
||||
inc 8,%o0
|
||||
retl
|
||||
nop
|
||||
|
||||
___Set_PC:
|
||||
ld [%l0],%o0
|
||||
tst %o0
|
||||
beq 3f
|
||||
nop
|
||||
cmp %o0,%l1
|
||||
bne 1f
|
||||
nop
|
||||
ld [%l0+4],%i7
|
||||
dec 8,%i7
|
||||
3:
|
||||
retl
|
||||
nop
|
||||
1:
|
||||
ta 3
|
||||
add %l1,%g0,%o1
|
||||
2: add %o1,7,%o2
|
||||
andn %o2,7,%o2
|
||||
ld [%o2+4],%o1
|
||||
cmp %o0,%o1
|
||||
bne 2b
|
||||
nop
|
||||
ld [%l0+4],%o0
|
||||
dec 8,%o0
|
||||
st %o0,[%o2+0x3c]
|
||||
retl
|
||||
nop
|
Loading…
Reference in a new issue