Page MenuHomeFreeBSD

Move syscall_args into struct thread.
ClosedPublic

Authored by kib on Jun 6 2017, 11:39 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 2:56 AM
Unknown Object (File)
Nov 10 2023, 10:05 PM
Unknown Object (File)
Nov 7 2023, 3:09 PM
Unknown Object (File)
Oct 27 2023, 6:02 AM
Unknown Object (File)
Oct 9 2023, 9:05 PM
Unknown Object (File)
Oct 6 2023, 1:59 PM
Unknown Object (File)
Sep 18 2023, 3:29 AM
Unknown Object (File)
Aug 24 2023, 7:25 PM
Subscribers

Details

Summary

This allows to remove td_dbg_sc_code and td_dbg_sc_nargs.
Also, it allows to optionally print the syscall number in nosys().
Also, add PT_GET_SC_ARGS argument fetch operation for ptrace(2).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Right now this is only compiled on i386/amd64. PT_GET_SC_ARGS is not tested and not documented.

Handle compat32: simply copy out low 32bits from each arg. This should be, in fact, a correct truncation.

Document PT_GET_SC_ARGS.

Looks good to me. For full truss cleanup I'll also eventually want a PT_GET_SC_RVAL that returns td_retval[] and the translated error value from the system call (though I could also accept the "raw" error and do the translation in userland via the tables in libsysdecode). That one is easy enough I can add when adopting truss to use this.

This revision is now accepted and ready to land.Jun 12 2017, 5:29 PM
kib edited edge metadata.

Update patch to the current state, including fixes to PT_GET_SC_ARGS (it passes tests) and to scescx.c test itself.

This revision now requires review to proceed.Jun 12 2017, 8:37 PM
This revision was automatically updated to reflect the committed changes.