Do a full exception_restore after an execve syscall to ensure that the

new program gets the right values for its arguments etc.
This commit is contained in:
Doug Rabson 2000-10-16 17:03:51 +00:00
parent 4f8d61b521
commit 85a25ab3d5
2 changed files with 10 additions and 0 deletions

View File

@ -1353,6 +1353,11 @@ ENTRY(do_syscall, 0)
;;
br.call.sptk.many rp=syscall // do the work
cmp.eq p6,p0=59,loc0 // do a full restore for execve
;;
(p6) add sp=-16,loc1
(p6) br.dpnt.many exception_restore
rsm psr.dt|psr.ic // get ready to restore
;;
srlz.d // serialise psr.dt and psr.ic

View File

@ -1353,6 +1353,11 @@ ENTRY(do_syscall, 0)
;;
br.call.sptk.many rp=syscall // do the work
cmp.eq p6,p0=59,loc0 // do a full restore for execve
;;
(p6) add sp=-16,loc1
(p6) br.dpnt.many exception_restore
rsm psr.dt|psr.ic // get ready to restore
;;
srlz.d // serialise psr.dt and psr.ic