Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jan 2010 22:11:18 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/sparc64/sparc64 trap.c
Message-ID:  <201001232211.o0NMBTEt030056@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
marius      2010-01-23 22:11:18 UTC

  FreeBSD src repository

  Modified files:
    sys/sparc64/sparc64  trap.c 
  Log:
  SVN rev 202900 on 2010-01-23 22:11:18Z by marius
  
  Merge r202882 from amd64/i386:
  
  For PT_TO_SCE stop that stops the ptraced process upon syscall entry,
  syscall arguments are collected before ptracestop() is called. As a
  consequence, debugger cannot modify syscall or its arguments.
  
  In syscall(), reread syscall number and arguments after ptracestop(),
  if debugger modified anything in the process environment. Since procfs
  stopevent requires number of syscall arguments in p_xstat, this cannot
  be solved by moving stop/trace point before argument fetching.
  
  Move the code to read arguments into separate function
  fetch_syscall_args() to avoid code duplication. Note that ktrace point
  for modified syscall is intentionally recorded twice, once with original
  arguments, and second time with the arguments set by debugger.
  
  PT_TO_SCX stop is executed after cpu_syscall_set_retval() already.
  
  Reviewed by:    kib
  
  Revision  Changes    Path
  1.100     +104 -69   src/sys/sparc64/sparc64/trap.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001232211.o0NMBTEt030056>