freebsd-nq/lib/libc/sys
Andrew Turner 548a2ec49b Add PT_GETREGSET
This adds the PT_GETREGSET and PT_SETREGSET ptrace types. These can be
used to access all the registers from a specified core dump note type.
The NT_PRSTATUS and NT_FPREGSET notes are initially supported. Other
machine-dependant types are expected to be added in the future.

The ptrace addr points to a struct iovec pointing at memory to hold the
registers along with its length. On success the length in the iovec is
updated to tell userspace the actual length the kernel wrote or, if the
base address is NULL, the length the kernel would have written.

Because the data field is an int the arguments are backwards when
compared to the Linux PTRACE_GETREGSET call.

Reviewed by:	kib
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D19831
2022-01-27 11:40:34 +00:00
..
__error.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
__vdso_gettimeofday.c vdso: lower precision of vdso implementation of CLOCK_MONOTONIC_FAST and CLOCK_UPTIME_FAST 2021-06-24 00:36:33 +03:00
_exit.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
_umtx_op.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
abort2.2
accept4.c
accept.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
accept.c
access.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
acct.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
adjtime.2 Remove references to timed(8) 2021-05-13 09:53:08 +02:00
aio_cancel.2
aio_error.2 Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
aio_fsync.2 aio_fsync(2): Support O_DSYNC. 2021-01-08 13:15:56 +13:00
aio_mlock.2 Fix various nits in the aio operation manpages. 2016-08-19 17:37:32 +00:00
aio_read.2 Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
aio_return.2 lio_listio: validate aio_lio_opcode 2021-01-11 19:53:01 -07:00
aio_suspend.2 aio_suspend.2: properly canonicalize .Dd 2020-12-11 00:28:28 +00:00
aio_suspend.c
aio_waitcomplete.2
aio_write.2 Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
bind.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
bindat.2 Clarify bindat/connectat use with AT_FDCWD 2018-04-30 17:16:17 +00:00
brk.2 Reimplement brk() and sbrk() to avoid the use of _end. 2018-06-04 19:35:15 +00:00
brk.c Reimplement brk() and sbrk() to avoid the use of _end. 2018-06-04 19:35:15 +00:00
cap_enter.2 cap_enter(2): fix CAVEATS section 2020-12-11 00:26:49 +00:00
cap_fcntls_limit.2 libcasper(3): Document HISTORY within the manpages 2020-06-16 16:48:52 +00:00
cap_ioctls_limit.2 libcasper(3): Document HISTORY within the manpages 2020-06-16 16:48:52 +00:00
cap_rights_limit.2 libcasper(3): Document HISTORY within the manpages 2020-06-16 16:48:52 +00:00
chdir.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
chflags.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
chmod.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
chown.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
chroot.2 Updates to chroot(2) docs 2020-09-29 18:13:54 +00:00
clock_gettime.2 clock_gettime: Add Linux aliases for CLOCK_* 2021-07-30 17:20:22 -06:00
clock_gettime.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
clock_nanosleep.c Remove 'All rights reserved' from my files 2018-05-09 20:12:59 +00:00
close.2 Mark all the system calls that were in 1st Edition Unix as such in the 2017-12-01 22:26:36 +00:00
close.c
closefrom.2 Implement a close_range(2) syscall 2020-04-12 21:23:19 +00:00
closefrom.c closefrom: clamp lowfd to >= 0; close_range's parameters are unsigned. 2020-04-14 23:24:24 +00:00
compat-ino64.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
compat-stub.c Remove bits of the old NUMA. 2018-07-10 22:00:20 +00:00
connect.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
connect.c
connectat.2 connectat(2): clarify that the s argument is socket 2021-04-30 17:43:45 +03:00
copy_file_range.2 copy_file_range(2): add recommendation to use large "len" 2021-01-02 17:21:21 -08:00
cpuset_getaffinity.2 cpuset{,_getaffinity,_getdomain}.2: fix SEE ALSO 2020-12-11 01:52:27 +00:00
cpuset_getdomain.2 cpuset{,_getaffinity,_getdomain}.2: fix SEE ALSO 2020-12-11 01:52:27 +00:00
cpuset.2 Add code examples to cpuset(2), and improve cross referencing. 2021-04-25 15:22:00 +01:00
dup.2 Correct history for Unix 2nd Edition through 6th Edition for the 2017-12-01 22:48:20 +00:00
eventfd.2 eventfd.2: Add the mail address of the submitter into copyright. 2020-12-28 21:03:16 +02:00
execve.2 execve: disallow argc == 0 2022-01-26 13:40:27 -06:00
extattr_get_file.2 O_PATH: allow vfs_extattr syscalls 2021-10-11 20:09:49 +03:00
fcntl.2 fcntl(2): be more precise about third arg type 2021-12-07 01:27:38 +02:00
fcntl.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
fdatasync.c
ffclock.2
fhlink.2 fhlink(2): the syscalls do not take flag 2021-03-02 20:16:55 +02:00
fhopen.2
fhreadlink.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
flock.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
fork.2 fork(2): comment about doubtful use of stdio and exit(3) in example 2021-08-08 22:38:59 +03:00
fork.c
fspacectl.2 fspacectl(2): Changes on rmsr.r_offset's minimum value returned 2021-08-26 00:03:37 +08:00
fstat.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
fstatat.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
fstatfs.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
fsync.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
fsync.c
getdents.c Forward compatibility for ino64. 2017-06-23 18:06:20 +00:00
getdirentries.2 getdirentries.2: remove unnecessary space 2021-04-11 11:17:01 +02:00
getdirentries.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
getdtablesize.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getfh.2 getfh: clarify that it is a privileged operation 2021-12-23 11:54:43 -05:00
getfsstat.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
getfsstat.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
getgid.2 libc manpages: various improvements from NetBSD 2020-06-14 05:59:30 +00:00
getgroups.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getitimer.2 Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
getlogin.2 getlogin_r: fix the type of len 2020-09-09 18:07:13 +00:00
getloginclass.2 Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
getpeername.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getpgrp.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getpid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getpriority.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getrandom.2 getrandom(2): Add Linux GRND_INSECURE API flag 2020-01-12 20:47:38 +00:00
getrlimit.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getrusage.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getsid.2
getsockname.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getsockopt.2 socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
gettimeofday.2 Remove references to timed(8) 2021-05-13 09:53:08 +02:00
gettimeofday.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
getuid.2 Correct history for Unix 2nd Edition through 6th Edition for the 2017-12-01 22:48:20 +00:00
interposing_table.c libthr: wrap pdfork(2), same as fork(2). 2021-01-11 22:59:52 +02:00
intro.2 Clarify the description of the EINTEGRITY error in intro(2). 2021-12-28 16:39:46 -08:00
ioctl.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
issetugid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
jail.2 jail: Change both root and working directories in jail_attach(2) 2021-02-19 14:13:35 -08:00
kenv.2 kenv: allow listing of static kernel environments 2021-07-18 23:06:19 -05:00
kevent.c
kill.2 Only return EPERM from kill(-pid) when no process was signalled. 2019-12-07 18:07:49 +00:00
kldfind.2
kldfirstmod.2
kldload.2
kldnext.2
kldstat.2
kldsym.2 Use 'cmd' rather than 'command' to match the function prototype. 2016-10-17 22:36:37 +00:00
kldunload.2
kqueue.2 kqueue(2): Add note about format of the data for NOTE_EXIT 2022-01-20 00:37:25 +02:00
ktrace.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
link.2 Fix mistakes in link(2) and shm_open(2) 2021-10-06 06:38:26 +03:00
lio_listio.2 lio_listio(2): Allow LIO_READV and LIO_WRITEV. 2021-08-22 23:00:42 +12:00
listen.2 Make sonewconn() overflow messages have per-socket rate-limits and values. 2020-04-14 15:38:18 +00:00
lseek.2 lseek(2): Document the seek behavior better and update the POSIX compliance 2020-07-13 15:52:57 +00:00
lstat.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
madvise.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
Makefile.inc libc: get rid of NO_P1003_1B make variable 2021-12-07 00:21:44 +00:00
mincore.2 Include the psind in data returned by mincore(2). 2020-09-02 18:16:43 +00:00
minherit.2 Implement INHERIT_ZERO for minherit(2). 2017-03-14 17:10:42 +00:00
mkdir.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
mkfifo.2 Trim some duplicate EIO descriptions. 2020-03-30 21:48:47 +00:00
mknod.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
mknod.c Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
mlock.2 Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
mlockall.2 Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
mmap.2 mmap(2): Update .Dd missed in the last commit 2020-12-24 14:14:56 +00:00
modfind.2
modnext.2
modstat.2
mount.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
mprotect.2 mprotect.2: Improve the description of prot 2021-09-07 17:28:50 +01:00
mq_close.2
mq_getattr.2
mq_notify.2
mq_open.2 mq_open(2): Fix xref to mq_unlink(2) 2021-03-04 13:32:42 +01:00
mq_receive.2
mq_send.2
mq_setattr.2
mq_unlink.2 mq_unlink(3): Add manual page 2021-02-18 18:56:52 +01:00
msgctl.2 Avoid copying out kernel pointers from msgctl(IPC_STAT). 2020-07-09 17:26:49 +00:00
msgget.2 Refer to SysV IPC permissions as numeric constants. 2018-03-04 20:06:02 +00:00
msgrcv.2
msgsnd.2
msync.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
msync.c
munmap.2 Implement address space guards. 2017-06-24 17:01:11 +00:00
nanosleep.2 nanosleep.2: use appropriate macros 2021-10-11 18:57:58 +02:00
nanosleep.c
nfssvc.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ntp_adjtime.2
open.2 fexecve(2): allow O_PATH file descriptors opened without O_EXEC 2021-11-03 18:00:42 +02:00
open.c
openat.c libc: partially revert r326576 2020-04-25 14:24:54 +00:00
pathconf.2 Fix pathconf.2 documentation error 2021-08-07 07:09:57 +08:00
pdfork.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
pdfork.c Include the correct header for pdfork()'s prototype. 2022-01-24 09:52:12 -08:00
pipe.2 Correct history for Unix 2nd Edition through 6th Edition for the 2017-12-01 22:48:20 +00:00
pipe.c
poll.2 poll(2): Add POLLRDHUP. 2021-04-28 23:00:31 +12:00
poll.c
POSIX2x_Fork.c libc: Fix build on case-insensitive file systems 2021-09-10 01:19:38 +01:00
posix_fadvise.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
posix_fallocate.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
posix_openpt.2 posix_openpt.2: Sort includes per style(9) 2016-09-21 17:51:27 +00:00
ppoll.c
procctl.2 procctl: actually require debug privileges over target 2021-10-19 23:04:34 +03:00
profil.2 Correct history for Unix 2nd Edition through 6th Edition for the 2017-12-01 22:48:20 +00:00
pselect.2
pselect.c
ptrace.2 Add PT_GETREGSET 2022-01-27 11:40:34 +00:00
ptrace.c Rewrite ptrace(2) wrappers in C. 2016-08-29 18:47:51 +00:00
quotactl.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
rctl_add_rule.2 rctl_add_rule(2): fix manlint warnings 2017-05-23 07:32:57 +00:00
read.2 vfs: add restrictions to read(2) of a directory [2/2] 2020-06-04 18:17:25 +00:00
read.c
readlink.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
readv.c
reboot.2 Tweak documentation to RB_ constants to reflect current use 2018-07-10 00:01:14 +00:00
recv.2 Update example to something people less than 40 years old have heard about. 2018-10-21 07:30:26 +00:00
recvfrom.c
recvmsg.c
rename.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
revoke.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
rfork.2 posix_spawn(3): handle potential signal issues with vfork 2019-09-25 19:22:03 +00:00
rmdir.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
rtprio.2 Add idle priority scheduling privilege group to MAC/priority 2021-12-10 04:54:48 +02:00
sched_get_priority_max.2
sched_setparam.2
sched_setscheduler.2
sched_yield.2
sctp_generic_recvmsg.2
sctp_generic_sendmsg.2
sctp_peeloff.2
select.2 man page of select(2) should mention pselect(2) 2020-06-25 12:31:05 +00:00
select.c
semctl.2 Apply the logic from r363051 to semctl(2) and __sem_base field. 2020-07-09 18:34:54 +00:00
semget.2 Refer to SysV IPC permissions as numeric constants. 2018-03-04 20:06:02 +00:00
semop.2
send.2 Document handling of connection-mode sockets by sendto(2). 2020-04-27 16:12:32 +00:00
sendfile.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
sendmsg.c
sendto.c
setcontext.c libc: partially revert r326576 2020-04-25 14:24:54 +00:00
setfib.2 Don't end up manpage titles with a full stop. 2017-05-24 21:02:53 +00:00
setgroups.2 Update .Dd missed in -r328304. 2018-01-24 22:36:21 +00:00
setpgid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setregid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setresuid.2
setreuid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setsid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setuid.2 Correct history for Unix 2nd Edition through 6th Edition for the 2017-12-01 22:48:20 +00:00
shm_open.2 Fix mistakes in link(2) and shm_open(2) 2021-10-06 06:38:26 +03:00
shm_open.c Fix error checking in shm_create_largepage(). 2020-09-18 12:30:15 +00:00
shmat.2 Implement shmat(2) flag SHM_REMAP. 2019-01-16 05:15:57 +00:00
shmctl.2
shmget.2 Refer to SysV IPC permissions as numeric constants. 2018-03-04 20:06:02 +00:00
shutdown.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigaction.2 [skip ci] document close_range(2) as async-signal-safe 2020-07-21 16:46:40 +00:00
sigaction.c
sigaltstack.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigfastblock.2 Add a way to manage thread signal mask using shared word, instead of syscall. 2020-02-09 11:53:12 +00:00
sigpending.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigprocmask.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigprocmask.c
sigqueue.2 Provide a freebsd32 implementation of sigqueue() 2017-05-05 18:49:39 +00:00
sigreturn.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigstack.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigsuspend.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigsuspend.c
sigtimedwait.c
sigwait.2
sigwait.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
sigwaitinfo.2
sigwaitinfo.c
socket.2 Document socket control message routines for ancillary data access (CMSG_DATA). 2018-08-19 17:42:49 +00:00
socketpair.2 socketpair.2: Reference relevant POSIX standards 2018-02-10 19:41:32 +00:00
stat.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
stat.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
statfs.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
statfs.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
swapcontext.c libc: partially revert r326576 2020-04-25 14:24:54 +00:00
swapon.2 Document new variant of swapoff(2) 2021-12-09 02:48:53 +02:00
Symbol.map swapoff: add one more variant of the syscall 2021-12-09 02:48:46 +02:00
symlink.2 Trim some duplicate EIO descriptions. 2020-03-30 21:48:47 +00:00
sync.2 Correct history for Unix 2nd Edition through 6th Edition for the 2017-12-01 22:48:20 +00:00
sysarch.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
syscall.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
thr_exit.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
thr_kill.2 Add HISTORY sections to document when this 2020-05-05 19:31:47 +00:00
thr_new.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
thr_self.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
thr_set_name.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
thr_suspend.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
thr_wake.2 libc: Fix most issues reported by mandoc 2020-12-19 14:54:28 +00:00
timer_create.2
timer_delete.2
timer_settime.2
trivial-vdso_tc.c Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
truncate.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
umask.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
undelete.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
unlink.2 open(2): Remove O_BENEATH and AT_BENEATH 2021-03-02 20:16:55 +02:00
utimensat.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
utimes.2 Document EINTEGRITY errors for many system calls. 2020-03-30 21:44:00 +00:00
utrace.2
uuidgen.2
vadvise.c Make vadvise compat freebsd11. 2018-05-25 20:40:23 +00:00
vfork.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
wait4.c
wait6.c
wait.2 wait(2): clarify reparenting of children of the exiting process. 2019-08-11 15:47:48 +00:00
write.2 pwrite(2): add a BUGS section 2021-02-20 08:05:43 +00:00
write.c
writev.c