Page MenuHomeFreeBSD

Move syscall_args into struct thread.
ClosedPublic

Authored by kib on Jun 6 2017, 11:39 PM.
Tags
None
Referenced Files
F103557995: D11080.id29357.diff
Tue, Nov 26, 12:23 PM
F103551919: D11080.diff
Tue, Nov 26, 10:39 AM
Unknown Object (File)
Tue, Nov 5, 10:01 PM
Unknown Object (File)
Oct 18 2024, 10:48 AM
Unknown Object (File)
Oct 16 2024, 2:53 AM
Unknown Object (File)
Oct 2 2024, 6:10 AM
Unknown Object (File)
Oct 1 2024, 9:47 PM
Unknown Object (File)
Sep 30 2024, 7:48 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.