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)
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
Unknown Object (File)
Sep 27 2024, 2:57 PM
Unknown Object (File)
Sep 22 2024, 7:03 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

Lint
Lint Skipped
Unit
Tests Skipped

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.