Bug 1871

Summary: Syscall tracing option changes must be tracked
Product: frysk Reporter: Jeff Johnston <jjohnstn>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: NEW ---    
Severity: normal    
Priority: P1    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1524    

Description Jeff Johnston 2005-11-15 21:41:54 UTC
At present, to set syscall tracing, the Task requires that the traceSyscall
boolean be set to true.  When a task is continued via sendContinue (), a check
is made to see if the traceSyscall boolean is set true and if yes, instead of
using PTRACE_CONT, PTRACE_SYSCALL is used.  The problem is that in addition to
this, the PTRACE options require changing.  The PTRACE_O_TRACESYSGOOD option
must be set prior to running with PTRACE_SYSCALL.  Without setting the option,
the low-level wait logic can't determine a syscall event has occurred and treats
the event as a regular trap.  Currently, the options only get set in Task
states: attached and startRunning.  If a frysk-user tries to set the syscall
trace after a stop occurs, a signal for example, the options do not get set 
before continuing and frysk treatst the syscall event as a trap.  

A suggested method might be to register option changes and check when continuing
whether PTRACE_SETOPTIONS must be performed.