1 /* Process record and replay target code for GNU/Linux.
3 Copyright (C) 2008, 2009 Free Software Foundation, Inc.
5 This file is part of GDB.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
24 #include "linux-record.h"
26 /* These macros are the values of the first argument of system call
27 "sys_ptrace". The values of these macros were obtained from Linux
30 #define RECORD_PTRACE_PEEKTEXT 1
31 #define RECORD_PTRACE_PEEKDATA 2
32 #define RECORD_PTRACE_PEEKUSR 3
34 /* These macros are the values of the first argument of system call
35 "sys_socketcall". The values of these macros were obtained from
36 Linux Kernel source. */
38 #define RECORD_SYS_SOCKET 1
39 #define RECORD_SYS_BIND 2
40 #define RECORD_SYS_CONNECT 3
41 #define RECORD_SYS_LISTEN 4
42 #define RECORD_SYS_ACCEPT 5
43 #define RECORD_SYS_GETSOCKNAME 6
44 #define RECORD_SYS_GETPEERNAME 7
45 #define RECORD_SYS_SOCKETPAIR 8
46 #define RECORD_SYS_SEND 9
47 #define RECORD_SYS_RECV 10
48 #define RECORD_SYS_SENDTO 11
49 #define RECORD_SYS_RECVFROM 12
50 #define RECORD_SYS_SHUTDOWN 13
51 #define RECORD_SYS_SETSOCKOPT 14
52 #define RECORD_SYS_GETSOCKOPT 15
53 #define RECORD_SYS_SENDMSG 16
54 #define RECORD_SYS_RECVMSG 17
56 /* These macros are the values of the first argument of system call
57 "sys_ipc". The values of these macros were obtained from Linux
60 #define RECORD_SEMOP 1
61 #define RECORD_SEMGET 2
62 #define RECORD_SEMCTL 3
63 #define RECORD_SEMTIMEDOP 4
64 #define RECORD_MSGSND 11
65 #define RECORD_MSGRCV 12
66 #define RECORD_MSGGET 13
67 #define RECORD_MSGCTL 14
68 #define RECORD_SHMAT 21
69 #define RECORD_SHMDT 22
70 #define RECORD_SHMGET 23
71 #define RECORD_SHMCTL 24
73 /* These macros are the values of the first argument of system call
74 "sys_quotactl". The values of these macros were obtained from Linux
77 #define RECORD_Q_GETFMT 0x800004
78 #define RECORD_Q_GETINFO 0x800005
79 #define RECORD_Q_GETQUOTA 0x800007
80 #define RECORD_Q_XGETQSTAT (('5' << 8) + 5)
81 #define RECORD_Q_XGETQUOTA (('3' << 8) + 3)
83 /* When the architecture process record get a Linux syscall
84 instruction, it will get a Linux syscall number of this
85 architecture and convert it to the Linux syscall number "num" which
86 is internal to GDB. Most Linux syscalls across architectures in
87 Linux would be similar and mostly differ by sizes of types and
88 structures. This sizes are put to "tdep".
90 Record the values of the registers and memory that will be changed
91 in current system call.
93 Return -1 if something wrong. */
96 record_linux_system_call (int num
, struct regcache
*regcache
,
97 struct linux_record_tdep
*tdep
)
103 /* sys_restart_syscall */
111 target_terminal_ours ();
113 yquery (_ ("The next instruction is syscall exit. "
114 "It will make the program exit. "
115 "Do you want to stop the program?"));
116 target_terminal_inferior ();
129 uint32_t addr
, count
;
130 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & addr
);
131 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & count
);
132 if (record_arch_list_add_mem (addr
, count
))
173 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
174 if (record_arch_list_add_mem (tmpu32
, tdep
->size__old_kernel_stat
))
196 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
197 if (tmpu32
== RECORD_PTRACE_PEEKTEXT
198 || tmpu32
== RECORD_PTRACE_PEEKDATA
199 || tmpu32
== RECORD_PTRACE_PEEKUSR
)
201 regcache_raw_read (regcache
, tdep
->arg4
,
202 (gdb_byte
*) & tmpu32
);
203 if (record_arch_list_add_mem (tmpu32
, 4))
242 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
243 if (record_arch_list_add_mem (tmpu32
, tdep
->size_tms
))
271 /* XXX Need to add a lot of support of other ioctl requests. */
272 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
273 if (tmpu32
== tdep
->ioctl_FIOCLEX
|| tmpu32
== tdep
->ioctl_FIONCLEX
274 || tmpu32
== tdep
->ioctl_FIONBIO
|| tmpu32
== tdep
->ioctl_FIOASYNC
275 || tmpu32
== tdep
->ioctl_TCSETS
|| tmpu32
== tdep
->ioctl_TCSETSW
276 || tmpu32
== tdep
->ioctl_TCSETSF
|| tmpu32
== tdep
->ioctl_TCSETA
277 || tmpu32
== tdep
->ioctl_TCSETAW
|| tmpu32
== tdep
->ioctl_TCSETAF
278 || tmpu32
== tdep
->ioctl_TCSBRK
|| tmpu32
== tdep
->ioctl_TCXONC
279 || tmpu32
== tdep
->ioctl_TCFLSH
|| tmpu32
== tdep
->ioctl_TIOCEXCL
280 || tmpu32
== tdep
->ioctl_TIOCNXCL
281 || tmpu32
== tdep
->ioctl_TIOCSCTTY
282 || tmpu32
== tdep
->ioctl_TIOCSPGRP
|| tmpu32
== tdep
->ioctl_TIOCSTI
283 || tmpu32
== tdep
->ioctl_TIOCSWINSZ
284 || tmpu32
== tdep
->ioctl_TIOCMBIS
|| tmpu32
== tdep
->ioctl_TIOCMBIC
285 || tmpu32
== tdep
->ioctl_TIOCMSET
286 || tmpu32
== tdep
->ioctl_TIOCSSOFTCAR
287 || tmpu32
== tdep
->ioctl_TIOCCONS
288 || tmpu32
== tdep
->ioctl_TIOCSSERIAL
289 || tmpu32
== tdep
->ioctl_TIOCPKT
|| tmpu32
== tdep
->ioctl_TIOCNOTTY
290 || tmpu32
== tdep
->ioctl_TIOCSETD
|| tmpu32
== tdep
->ioctl_TCSBRKP
291 || tmpu32
== tdep
->ioctl_TIOCTTYGSTRUCT
292 || tmpu32
== tdep
->ioctl_TIOCSBRK
|| tmpu32
== tdep
->ioctl_TIOCCBRK
293 || tmpu32
== tdep
->ioctl_TCSETS2
|| tmpu32
== tdep
->ioctl_TCSETSW2
294 || tmpu32
== tdep
->ioctl_TCSETSF2
295 || tmpu32
== tdep
->ioctl_TIOCSPTLCK
296 || tmpu32
== tdep
->ioctl_TIOCSERCONFIG
297 || tmpu32
== tdep
->ioctl_TIOCSERGWILD
298 || tmpu32
== tdep
->ioctl_TIOCSERSWILD
299 || tmpu32
== tdep
->ioctl_TIOCSLCKTRMIOS
300 || tmpu32
== tdep
->ioctl_TIOCSERGETMULTI
301 || tmpu32
== tdep
->ioctl_TIOCSERSETMULTI
302 || tmpu32
== tdep
->ioctl_TIOCMIWAIT
303 || tmpu32
== tdep
->ioctl_TIOCSHAYESESP
)
307 else if (tmpu32
== tdep
->ioctl_TCGETS
|| tmpu32
== tdep
->ioctl_TCGETA
308 || tmpu32
== tdep
->ioctl_TIOCGLCKTRMIOS
)
310 regcache_raw_read (regcache
, tdep
->arg3
,
311 (gdb_byte
*) & tmpu32
);
312 if (record_arch_list_add_mem (tmpu32
, tdep
->size_termios
))
315 else if (tmpu32
== tdep
->ioctl_TIOCGPGRP
316 || tmpu32
== tdep
->ioctl_TIOCGSID
)
318 regcache_raw_read (regcache
, tdep
->arg3
,
319 (gdb_byte
*) & tmpu32
);
320 if (record_arch_list_add_mem (tmpu32
, tdep
->size_pid_t
))
323 else if (tmpu32
== tdep
->ioctl_TIOCOUTQ
324 || tmpu32
== tdep
->ioctl_TIOCMGET
325 || tmpu32
== tdep
->ioctl_TIOCGSOFTCAR
326 || tmpu32
== tdep
->ioctl_FIONREAD
327 || tmpu32
== tdep
->ioctl_TIOCINQ
328 || tmpu32
== tdep
->ioctl_TIOCGETD
329 || tmpu32
== tdep
->ioctl_TIOCGPTN
330 || tmpu32
== tdep
->ioctl_TIOCSERGETLSR
)
332 regcache_raw_read (regcache
, tdep
->arg3
,
333 (gdb_byte
*) & tmpu32
);
334 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
337 else if (tmpu32
== tdep
->ioctl_TIOCGWINSZ
)
339 regcache_raw_read (regcache
, tdep
->arg3
,
340 (gdb_byte
*) & tmpu32
);
341 if (record_arch_list_add_mem (tmpu32
, tdep
->size_winsize
))
344 else if (tmpu32
== tdep
->ioctl_TIOCLINUX
)
346 regcache_raw_read (regcache
, tdep
->arg3
,
347 (gdb_byte
*) & tmpu32
);
348 /* This syscall affect a char size memory. */
349 if (record_arch_list_add_mem (tmpu32
, 1))
352 else if (tmpu32
== tdep
->ioctl_TIOCGSERIAL
)
354 regcache_raw_read (regcache
, tdep
->arg3
,
355 (gdb_byte
*) & tmpu32
);
356 if (record_arch_list_add_mem (tmpu32
, tdep
->size_serial_struct
))
359 else if (tmpu32
== tdep
->ioctl_TCGETS2
)
361 regcache_raw_read (regcache
, tdep
->arg3
,
362 (gdb_byte
*) & tmpu32
);
363 if (record_arch_list_add_mem (tmpu32
, tdep
->size_termios2
))
366 else if (tmpu32
== tdep
->ioctl_FIOQSIZE
)
368 regcache_raw_read (regcache
, tdep
->arg3
,
369 (gdb_byte
*) & tmpu32
);
370 if (record_arch_list_add_mem (tmpu32
, tdep
->size_loff_t
))
373 else if (tmpu32
== tdep
->ioctl_TIOCGICOUNT
)
375 regcache_raw_read (regcache
, tdep
->arg3
,
376 (gdb_byte
*) & tmpu32
);
377 if (record_arch_list_add_mem
378 (tmpu32
, tdep
->size_serial_icounter_struct
))
381 else if (tmpu32
== tdep
->ioctl_TIOCGHAYESESP
)
383 regcache_raw_read (regcache
, tdep
->arg3
,
384 (gdb_byte
*) & tmpu32
);
385 if (record_arch_list_add_mem (tmpu32
, tdep
->size_hayes_esp_config
))
388 else if (tmpu32
== tdep
->ioctl_TIOCSERGSTRUCT
)
390 printf_unfiltered (_("Process record and replay target doesn't "
391 "support ioctl request TIOCSERGSTRUCT\n"));
396 printf_unfiltered (_("Process record and replay target doesn't "
397 "support ioctl request 0x%s.\n"),
398 phex_nz (tmpu32
, 4));
406 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
408 if (tmpu32
== tdep
->fcntl_F_GETLK
)
410 regcache_raw_read (regcache
, tdep
->arg3
,
411 (gdb_byte
*) & tmpu32
);
412 if (record_arch_list_add_mem (tmpu32
, tdep
->size_flock
))
427 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
428 if (record_arch_list_add_mem (tmpu32
, tdep
->size_oldold_utsname
))
440 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
441 if (record_arch_list_add_mem (tmpu32
, tdep
->size_ustat
))
457 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
458 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_sigaction
))
476 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
477 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_sigset_t
))
481 /* sys_sethostname */
487 /* sys_old_getrlimit */
489 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
490 if (record_arch_list_add_mem (tmpu32
, tdep
->size_rlimit
))
496 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
497 if (record_arch_list_add_mem (tmpu32
, tdep
->size_rusage
))
501 /* sys_gettimeofday */
503 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
504 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timeval
))
506 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
507 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timezone
))
511 /* sys_settimeofday */
515 /* sys_getgroups16 */
517 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
518 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_gid_t
))
522 /* sys_setgroups16 */
524 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
525 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_gid_t
))
532 struct sel_arg_struct
541 regcache_raw_read (regcache
, tdep
->arg1
,
542 (gdb_byte
*) & tmpu32
);
545 if (target_read_memory (tmpu32
, (gdb_byte
*) & sel
, sizeof (sel
)))
548 fprintf_unfiltered (gdb_stdlog
,
549 "Process record: error reading memory "
550 "at addr = 0x%s len = %lu.\n",
552 (unsigned long)sizeof (sel
));
555 if (record_arch_list_add_mem (sel
.inp
, tdep
->size_fd_set
))
557 if (record_arch_list_add_mem (sel
.outp
, tdep
->size_fd_set
))
559 if (record_arch_list_add_mem (sel
.exp
, tdep
->size_fd_set
))
561 if (record_arch_list_add_mem (sel
.tvp
, tdep
->size_timeval
))
575 regcache_raw_read (regcache
, tdep
->arg2
,
576 (gdb_byte
*) & tmpu32
);
577 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & len
);
578 if (record_arch_list_add_mem (tmpu32
, len
))
593 target_terminal_ours ();
595 yquery (_("The next instruction is syscall reboot. "
596 "It will restart the computer. "
597 "Do you want to stop the program?"));
598 target_terminal_inferior ();
606 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
607 if (record_arch_list_add_mem (tmpu32
, tdep
->size_dirent
))
621 regcache_raw_read (regcache
, tdep
->arg1
,
622 (gdb_byte
*) & tmpu32
);
623 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & len
);
624 target_terminal_ours ();
626 yquery (_("The next instruction is syscall munmap. "
627 "It will free the memory addr = 0x%s len = %u. "
628 "It will make record target get error. "
629 "Do you want to stop the program?"),
630 paddr_nz (tmpu32
), (int)len
);
631 target_terminal_inferior ();
645 /* sys_getpriority */
647 /* sys_setpriority */
657 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
658 if (record_arch_list_add_mem (tmpu32
, tdep
->size_statfs
))
668 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
671 case RECORD_SYS_SOCKET
:
672 case RECORD_SYS_BIND
:
673 case RECORD_SYS_CONNECT
:
674 case RECORD_SYS_LISTEN
:
676 case RECORD_SYS_ACCEPT
:
677 case RECORD_SYS_GETSOCKNAME
:
678 case RECORD_SYS_GETPEERNAME
:
681 regcache_raw_read (regcache
, tdep
->arg2
,
682 (gdb_byte
*) & tmpu32
);
685 if (target_read_memory (tmpu32
, (gdb_byte
*) a
, sizeof (a
)))
688 fprintf_unfiltered (gdb_stdlog
,
689 "Process record: error reading "
690 "memory at addr = 0x%s len = %lu.\n",
692 (unsigned long)sizeof (a
));
695 if (record_arch_list_add_mem (a
[1], tdep
->size_sockaddr
))
697 if (record_arch_list_add_mem (a
[2], tdep
->size_int
))
703 case RECORD_SYS_SOCKETPAIR
:
706 regcache_raw_read (regcache
, tdep
->arg2
,
707 (gdb_byte
*) & tmpu32
);
710 if (target_read_memory (tmpu32
, (gdb_byte
*) a
, sizeof (a
)))
713 fprintf_unfiltered (gdb_stdlog
,
714 "Process record: error reading "
715 "memory at addr = 0x%s len = %lu.\n",
717 (unsigned long)sizeof (a
));
720 if (record_arch_list_add_mem (a
[3], tdep
->size_int
))
725 case RECORD_SYS_SEND
:
726 case RECORD_SYS_SENDTO
:
728 case RECORD_SYS_RECV
:
731 regcache_raw_read (regcache
, tdep
->arg2
,
732 (gdb_byte
*) & tmpu32
);
735 if (target_read_memory (tmpu32
, (gdb_byte
*) a
, sizeof (a
)))
738 fprintf_unfiltered (gdb_stdlog
,
739 "Process record: error reading "
740 "memory at addr = 0x%s len = %lu.\n",
742 (unsigned long)sizeof (a
));
747 if (target_read_memory
748 (a
[2], (gdb_byte
*) & (a
[2]), sizeof (a
[2])))
751 fprintf_unfiltered (gdb_stdlog
,
752 "Process record: error reading "
753 "memory at addr = 0x%s "
756 (unsigned long)sizeof (a
[2]));
759 if (record_arch_list_add_mem (a
[1], a
[2]))
765 case RECORD_SYS_RECVFROM
:
768 regcache_raw_read (regcache
, tdep
->arg2
,
769 (gdb_byte
*) & tmpu32
);
772 if (target_read_memory (tmpu32
, (gdb_byte
*) a
, sizeof (a
)))
775 fprintf_unfiltered (gdb_stdlog
,
776 "Process record: error reading "
777 "memory at addr = 0x%s len = %lu.\n",
779 (unsigned long)sizeof (a
));
784 if (target_read_memory
785 (a
[2], (gdb_byte
*) & (a
[2]), sizeof (a
[2])))
788 fprintf_unfiltered (gdb_stdlog
,
789 "Process record: error reading "
790 "memory at addr = 0x%s "
793 (unsigned long)sizeof (a
[2]));
796 if (record_arch_list_add_mem (a
[1], a
[2]))
798 if (record_arch_list_add_mem (a
[4], tdep
->size_sockaddr
))
800 if (record_arch_list_add_mem (a
[5], tdep
->size_int
))
806 case RECORD_SYS_SHUTDOWN
:
807 case RECORD_SYS_SETSOCKOPT
:
809 case RECORD_SYS_GETSOCKOPT
:
814 regcache_raw_read (regcache
, tdep
->arg2
,
815 (gdb_byte
*) & tmpu32
);
818 if (target_read_memory (tmpu32
, (gdb_byte
*) a
, sizeof (a
)))
821 fprintf_unfiltered (gdb_stdlog
,
822 "Process record: error reading "
823 "memory at addr = 0x%s len = %lu.\n",
825 (unsigned long)sizeof (a
));
830 if (target_read_memory
831 (a
[4], (gdb_byte
*) & av
, sizeof (av
)))
834 fprintf_unfiltered (gdb_stdlog
,
835 "Process record: error reading "
836 "memory at addr = 0x%s "
839 (unsigned long)sizeof (av
));
842 if (record_arch_list_add_mem (a
[3], av
))
844 if (record_arch_list_add_mem (a
[4], tdep
->size_int
))
850 case RECORD_SYS_SENDMSG
:
852 case RECORD_SYS_RECVMSG
:
858 uint32_t msg_namelen
;
861 uint32_t msg_control
;
862 uint32_t msg_controllen
;
871 regcache_raw_read (regcache
, tdep
->arg2
,
872 (gdb_byte
*) & tmpu32
);
875 if (target_read_memory (tmpu32
, (gdb_byte
*) a
, sizeof (a
)))
878 fprintf_unfiltered (gdb_stdlog
,
879 "Process record: error reading "
880 "memory at addr = 0x%s len = %lu.\n",
882 (unsigned long)sizeof (a
));
885 if (record_arch_list_add_mem (a
[1], tdep
->size_msghdr
))
889 if (target_read_memory
890 (a
[1], (gdb_byte
*) & rec
, sizeof (rec
)))
893 fprintf_unfiltered (gdb_stdlog
,
894 "Process record: error reading "
895 "memory at addr = 0x%s "
898 (unsigned long)sizeof (rec
));
901 if (record_arch_list_add_mem
902 (rec
.msg_name
, rec
.msg_namelen
))
904 if (record_arch_list_add_mem
905 (rec
.msg_control
, rec
.msg_controllen
))
909 for (i
= 0; i
< rec
.msg_iovlen
; i
++)
911 if (target_read_memory
912 (rec
.msg_iov
, (gdb_byte
*) & iov
,
916 fprintf_unfiltered (gdb_stdlog
,
917 "Process record: error "
923 (unsigned long)sizeof (iov
));
926 if (record_arch_list_add_mem
927 (iov
.iov_base
, iov
.iov_len
))
929 rec
.msg_iov
+= sizeof (struct record_iovec
);
937 printf_unfiltered (_("Process record and replay target "
938 "doesn't support socketcall call 0x%s\n"),
939 phex_nz (tmpu32
, 4));
951 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
952 if (record_arch_list_add_mem (tmpu32
, tdep
->size_itimerval
))
958 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
959 if (record_arch_list_add_mem (tmpu32
, tdep
->size_itimerval
))
969 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
970 if (record_arch_list_add_mem (tmpu32
, tdep
->size_stat
))
976 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
977 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_utsname
))
993 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
994 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
996 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
997 if (record_arch_list_add_mem (tmpu32
, tdep
->size_rusage
))
1007 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1008 if (record_arch_list_add_mem (tmpu32
, tdep
->size_sysinfo
))
1014 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1021 regcache_raw_read (regcache
, tdep
->arg3
,
1022 (gdb_byte
*) & second
);
1023 regcache_raw_read (regcache
, tdep
->arg5
,
1024 (gdb_byte
*) & ptr
);
1025 if (record_arch_list_add_mem (ptr
, second
+ tdep
->size_long
))
1030 regcache_raw_read (regcache
, tdep
->arg5
,
1031 (gdb_byte
*) & tmpu32
);
1032 if (record_arch_list_add_mem (tmpu32
, tdep
->size_msqid_ds
))
1036 regcache_raw_read (regcache
, tdep
->arg4
,
1037 (gdb_byte
*) & tmpu32
);
1038 if (record_arch_list_add_mem (tmpu32
, tdep
->size_ulong
))
1042 regcache_raw_read (regcache
, tdep
->arg5
,
1043 (gdb_byte
*) & tmpu32
);
1044 if (record_arch_list_add_mem (tmpu32
, tdep
->size_shmid_ds
))
1056 /* sys_setdomainname */
1062 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1063 if (record_arch_list_add_mem (tmpu32
, tdep
->size_new_utsname
))
1067 /* sys_modify_ldt */
1069 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1070 if (tmpu32
== 0 || tmpu32
== 2)
1072 uint32_t ptr
, bytecount
;
1073 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & ptr
);
1074 regcache_raw_read (regcache
, tdep
->arg3
,
1075 (gdb_byte
*) & bytecount
);
1076 if (record_arch_list_add_mem (ptr
, bytecount
))
1083 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1084 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timex
))
1092 /* sys_sigprocmask */
1094 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1095 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_sigset_t
))
1099 /* sys_ni_syscall */
1101 /* sys_init_module */
1103 /* sys_delete_module */
1105 /* sys_ni_syscall */
1111 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1114 case RECORD_Q_GETFMT
:
1115 regcache_raw_read (regcache
, tdep
->arg4
,
1116 (gdb_byte
*) & tmpu32
);
1117 if (record_arch_list_add_mem (tmpu32
, 4))
1120 case RECORD_Q_GETINFO
:
1121 regcache_raw_read (regcache
, tdep
->arg4
,
1122 (gdb_byte
*) & tmpu32
);
1123 if (record_arch_list_add_mem (tmpu32
, tdep
->size_mem_dqinfo
))
1126 case RECORD_Q_GETQUOTA
:
1127 regcache_raw_read (regcache
, tdep
->arg4
,
1128 (gdb_byte
*) & tmpu32
);
1129 if (record_arch_list_add_mem (tmpu32
, tdep
->size_if_dqblk
))
1132 case RECORD_Q_XGETQSTAT
:
1133 case RECORD_Q_XGETQUOTA
:
1134 regcache_raw_read (regcache
, tdep
->arg4
,
1135 (gdb_byte
*) & tmpu32
);
1136 if (record_arch_list_add_mem (tmpu32
, tdep
->size_fs_quota_stat
))
1152 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1155 regcache_raw_read (regcache
, tdep
->arg3
,
1156 (gdb_byte
*) & tmpu32
);
1157 /*XXX the size of memory is not very clear. */
1158 if (record_arch_list_add_mem (tmpu32
, 10))
1163 /* sys_personality */
1165 /* sys_ni_syscall */
1167 /* sys_setfsuid16 */
1169 /* sys_setfsgid16 */
1175 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
1176 if (record_arch_list_add_mem (tmpu32
, tdep
->size_loff_t
))
1184 regcache_raw_read (regcache
, tdep
->arg2
,
1185 (gdb_byte
*) & tmpu32
);
1186 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & count
);
1187 if (record_arch_list_add_mem (tmpu32
, tdep
->size_dirent
* count
))
1194 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1195 if (record_arch_list_add_mem (tmpu32
, tdep
->size_fd_set
))
1197 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1198 if (record_arch_list_add_mem (tmpu32
, tdep
->size_fd_set
))
1200 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
1201 if (record_arch_list_add_mem (tmpu32
, tdep
->size_fd_set
))
1203 regcache_raw_read (regcache
, tdep
->arg5
, (gdb_byte
*) & tmpu32
);
1204 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timeval
))
1224 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & vec
);
1227 regcache_raw_read (regcache
, tdep
->arg3
,
1228 (gdb_byte
*) & vlen
);
1229 for (tmpu32
= 0; tmpu32
< vlen
; tmpu32
++)
1231 if (target_read_memory
1232 (vec
, (gdb_byte
*) & iov
, sizeof (struct record_iovec
)))
1235 fprintf_unfiltered (gdb_stdlog
,
1236 "Process record: error reading "
1237 "memory at addr = 0x%s len = %lu.\n",
1239 (unsigned long)sizeof (struct record_iovec
));
1242 if (record_arch_list_add_mem (iov
.iov_base
, iov
.iov_len
))
1244 vec
+= sizeof (struct record_iovec
);
1264 /* sys_munlockall */
1266 /* sys_sched_setparam */
1270 /* sys_sched_getparam */
1272 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1273 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
1277 /* sys_sched_setscheduler */
1279 /* sys_sched_getscheduler */
1281 /* sys_sched_yield */
1283 /* sys_sched_get_priority_max */
1285 /* sys_sched_get_priority_min */
1289 /* sys_sched_rr_get_interval */
1293 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1294 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timespec
))
1300 /* sys_setresuid16 */
1304 /* sys_getresuid16 */
1306 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1307 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_uid_t
))
1309 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1310 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_uid_t
))
1312 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1313 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_uid_t
))
1319 /* sys_ni_syscall */
1325 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1329 regcache_raw_read (regcache
, tdep
->arg2
,
1330 (gdb_byte
*) & nfds
);
1331 if (record_arch_list_add_mem (tmpu32
, tdep
->size_pollfd
* nfds
))
1336 /* sys_nfsservctl */
1338 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1339 if (tmpu32
== 7 || tmpu32
== 8)
1343 rsize
= tdep
->size_NFS_FHSIZE
;
1345 rsize
= tdep
->size_knfsd_fh
;
1346 regcache_raw_read (regcache
, tdep
->arg3
,
1347 (gdb_byte
*) & tmpu32
);
1348 if (record_arch_list_add_mem (tmpu32
, rsize
))
1353 /* sys_setresgid16 */
1357 /* sys_getresgid16 */
1359 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1360 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_gid_t
))
1362 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1363 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_gid_t
))
1365 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1366 if (record_arch_list_add_mem (tmpu32
, tdep
->size_old_gid_t
))
1372 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1376 regcache_raw_read (regcache
, tdep
->arg2
,
1377 (gdb_byte
*) & tmpu32
);
1378 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
1382 regcache_raw_read (regcache
, tdep
->arg2
,
1383 (gdb_byte
*) & tmpu32
);
1384 if (record_arch_list_add_mem (tmpu32
, tdep
->size_TASK_COMM_LEN
))
1390 /* sys_rt_sigreturn */
1394 /* sys_rt_sigaction */
1396 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1397 if (record_arch_list_add_mem (tmpu32
, tdep
->size_sigaction
))
1401 /* sys_rt_sigprocmask */
1403 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1404 if (record_arch_list_add_mem (tmpu32
, tdep
->size_sigset_t
))
1408 /* sys_rt_sigpending */
1410 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1413 uint32_t sigsetsize
;
1414 regcache_raw_read (regcache
, tdep
->arg2
,
1415 (gdb_byte
*) & sigsetsize
);
1416 if (record_arch_list_add_mem (tmpu32
, sigsetsize
))
1421 /* sys_rt_sigtimedwait */
1423 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1424 if (record_arch_list_add_mem (tmpu32
, tdep
->size_siginfo_t
))
1428 /* sys_rt_sigqueueinfo */
1430 /* sys_rt_sigsuspend */
1436 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1440 regcache_raw_read (regcache
, tdep
->arg3
,
1441 (gdb_byte
*) & count
);
1442 if (record_arch_list_add_mem (tmpu32
, count
))
1455 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1459 regcache_raw_read (regcache
, tdep
->arg2
,
1460 (gdb_byte
*) & size
);
1461 if (record_arch_list_add_mem (tmpu32
, size
))
1468 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1469 if (record_arch_list_add_mem (tmpu32
, tdep
->size_cap_user_data_t
))
1477 /* sys_sigaltstack */
1479 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1480 if (record_arch_list_add_mem (tmpu32
, tdep
->size_stack_t
))
1486 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1487 if (record_arch_list_add_mem (tmpu32
, tdep
->size_off_t
))
1491 /* sys_ni_syscall */
1493 /* sys_ni_syscall */
1501 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1502 if (record_arch_list_add_mem (tmpu32
, tdep
->size_rlimit
))
1510 /* sys_truncate64 */
1512 /* sys_ftruncate64 */
1522 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1523 if (record_arch_list_add_mem (tmpu32
, tdep
->size_stat64
))
1545 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1549 regcache_raw_read (regcache
, tdep
->arg1
,
1550 (gdb_byte
*) & gidsetsize
);
1551 if (record_arch_list_add_mem
1552 (tmpu32
, tdep
->size_gid_t
* gidsetsize
))
1567 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1568 if (record_arch_list_add_mem (tmpu32
, tdep
->size_uid_t
))
1570 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1571 if (record_arch_list_add_mem (tmpu32
, tdep
->size_uid_t
))
1573 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1574 if (record_arch_list_add_mem (tmpu32
, tdep
->size_uid_t
))
1584 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1585 if (record_arch_list_add_mem (tmpu32
, tdep
->size_gid_t
))
1587 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1588 if (record_arch_list_add_mem (tmpu32
, tdep
->size_gid_t
))
1590 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1591 if (record_arch_list_add_mem (tmpu32
, tdep
->size_gid_t
))
1605 /* sys_pivot_root */
1611 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1612 if (record_arch_list_add_mem (tmpu32
, tdep
->size_PAGE_SIZE
))
1620 /* sys_getdents64 */
1624 regcache_raw_read (regcache
, tdep
->arg2
,
1625 (gdb_byte
*) & tmpu32
);
1626 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & count
);
1627 if (record_arch_list_add_mem (tmpu32
, tdep
->size_dirent64
* count
))
1634 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1635 if (tmpu32
== tdep
->fcntl_F_GETLK64
)
1637 regcache_raw_read (regcache
, tdep
->arg3
,
1638 (gdb_byte
*) & tmpu32
);
1639 if (record_arch_list_add_mem (tmpu32
, tdep
->size_flock64
))
1642 else if (tmpu32
!= tdep
->fcntl_F_SETLK64
1643 && tmpu32
!= tdep
->fcntl_F_SETLKW64
)
1649 /* sys_ni_syscall */
1651 /* sys_ni_syscall */
1671 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1675 regcache_raw_read (regcache
, tdep
->arg4
,
1676 (gdb_byte
*) & size
);
1677 if (record_arch_list_add_mem (tmpu32
, size
))
1684 /* sys_llistxattr */
1686 /* sys_flistxattr */
1688 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1692 regcache_raw_read (regcache
, tdep
->arg3
,
1693 (gdb_byte
*) & size
);
1694 if (record_arch_list_add_mem (tmpu32
, size
))
1699 /* sys_removexattr */
1701 /* sys_lremovexattr */
1703 /* sys_fremovexattr */
1709 /* sys_sendfile64 */
1711 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1712 if (record_arch_list_add_mem (tmpu32
, tdep
->size_loff_t
))
1718 /* sys_sched_setaffinity */
1722 /* sys_sched_getaffinity */
1724 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1728 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & len
);
1729 if (record_arch_list_add_mem (tmpu32
, len
))
1734 /* sys_set_thread_area */
1736 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1737 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
1741 /* sys_get_thread_area */
1743 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1744 if (record_arch_list_add_mem (tmpu32
, tdep
->size_user_desc
))
1750 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1751 if (record_arch_list_add_mem (tmpu32
, tdep
->size_long
))
1755 /* sys_io_destroy */
1759 /* sys_io_getevents */
1761 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
1765 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & nr
);
1766 if (record_arch_list_add_mem (tmpu32
, nr
* tdep
->size_io_event
))
1773 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1778 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & nr
);
1779 iocbp
= (uint32_t *) alloca (nr
* tdep
->size_int
);
1780 if (target_read_memory
1781 (tmpu32
, (gdb_byte
*) iocbp
, nr
* tdep
->size_int
))
1784 fprintf_unfiltered (gdb_stdlog
,
1785 "Process record: error reading memory "
1786 "at addr = 0x%s len = %u.\n",
1788 (int)(nr
* tdep
->size_int
));
1791 for (i
= 0; i
< nr
; i
++)
1793 if (record_arch_list_add_mem (iocbp
[i
], tdep
->size_iocb
))
1801 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1802 if (record_arch_list_add_mem (tmpu32
, tdep
->size_io_event
))
1808 /* sys_ni_syscall */
1812 /* sys_exit_group */
1816 target_terminal_ours ();
1818 yquery (_("The next instruction is syscall exit_group. "
1819 "It will make the program exit. "
1820 "Do you want to stop the program?"));
1821 target_terminal_inferior ();
1827 /* sys_lookup_dcookie */
1829 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1833 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & len
);
1834 if (record_arch_list_add_mem (tmpu32
, len
))
1839 /* sys_epoll_create */
1845 /* sys_epoll_wait */
1847 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1851 regcache_raw_read (regcache
, tdep
->arg3
,
1852 (gdb_byte
*) & maxevents
);
1853 if (record_arch_list_add_mem
1854 (tmpu32
, maxevents
* tdep
->size_epoll_event
))
1859 /* sys_remap_file_pages */
1861 /* sys_set_tid_address */
1865 /* sys_timer_create */
1867 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1868 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
1872 /* sys_timer_settime */
1874 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
1875 if (record_arch_list_add_mem (tmpu32
, tdep
->size_itimerspec
))
1879 /* sys_timer_gettime */
1881 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1882 if (record_arch_list_add_mem (tmpu32
, tdep
->size_itimerspec
))
1886 /* sys_timer_getoverrun */
1888 /* sys_timer_delete */
1890 /* sys_clock_settime */
1894 /* sys_clock_gettime */
1896 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1897 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timespec
))
1901 /* sys_clock_getres */
1903 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1904 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timespec
))
1908 /* sys_clock_nanosleep */
1910 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
1911 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timespec
))
1919 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1920 if (record_arch_list_add_mem (tmpu32
, tdep
->size_statfs64
))
1928 /* sys_fadvise64_64 */
1930 /* sys_ni_syscall */
1936 /* sys_get_mempolicy */
1938 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
1939 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
1941 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1945 regcache_raw_read (regcache
, tdep
->arg3
,
1946 (gdb_byte
*) & maxnode
);
1947 if (record_arch_list_add_mem (tmpu32
, maxnode
* tdep
->size_long
))
1952 /* sys_set_mempolicy */
1958 /* sys_mq_timedsend */
1962 /* sys_mq_timedreceive */
1964 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
1968 regcache_raw_read (regcache
, tdep
->arg3
,
1969 (gdb_byte
*) & msg_len
);
1970 if (record_arch_list_add_mem (tmpu32
, msg_len
))
1973 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
1974 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
1982 /* sys_mq_getsetattr */
1984 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1985 if (record_arch_list_add_mem (tmpu32
, tdep
->size_mq_attr
))
1989 /* sys_kexec_load */
1995 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
1996 if (record_arch_list_add_mem (tmpu32
, tdep
->size_siginfo
))
1998 regcache_raw_read (regcache
, tdep
->arg5
, (gdb_byte
*) & tmpu32
);
1999 if (record_arch_list_add_mem (tmpu32
, tdep
->size_rusage
))
2003 /* sys_ni_syscall */
2007 /* sys_request_key */
2013 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
2014 if (tmpu32
== 6 || tmpu32
== 11)
2016 regcache_raw_read (regcache
, tdep
->arg3
,
2017 (gdb_byte
*) & tmpu32
);
2021 regcache_raw_read (regcache
, tdep
->arg4
,
2022 (gdb_byte
*) & buflen
);
2023 if (record_arch_list_add_mem (tmpu32
, buflen
))
2029 /* sys_ioprio_set */
2031 /* sys_ioprio_get */
2033 /* sys_inotify_init */
2035 /* sys_inotify_add_watch */
2037 /* sys_inotify_rm_watch */
2039 /* sys_migrate_pages */
2055 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
2056 if (record_arch_list_add_mem (tmpu32
, tdep
->size_stat64
))
2070 /* sys_readlinkat */
2072 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
2076 regcache_raw_read (regcache
, tdep
->arg4
,
2077 (gdb_byte
*) & bufsiz
);
2078 if (record_arch_list_add_mem (tmpu32
, bufsiz
))
2091 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
2092 if (record_arch_list_add_mem (tmpu32
, tdep
->size_fd_set
))
2094 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
2095 if (record_arch_list_add_mem (tmpu32
, tdep
->size_fd_set
))
2097 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
2098 if (record_arch_list_add_mem (tmpu32
, tdep
->size_fd_set
))
2100 regcache_raw_read (regcache
, tdep
->arg5
, (gdb_byte
*) & tmpu32
);
2101 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timespec
))
2107 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
2111 regcache_raw_read (regcache
, tdep
->arg2
,
2112 (gdb_byte
*) & nfds
);
2113 if (record_arch_list_add_mem (tmpu32
, tdep
->size_pollfd
* nfds
))
2116 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
2117 if (record_arch_list_add_mem (tmpu32
, tdep
->size_timespec
))
2123 /* sys_set_robust_list */
2127 /* sys_get_robust_list */
2129 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
2130 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
2132 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
2133 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
2139 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
2140 if (record_arch_list_add_mem (tmpu32
, tdep
->size_loff_t
))
2142 regcache_raw_read (regcache
, tdep
->arg4
, (gdb_byte
*) & tmpu32
);
2143 if (record_arch_list_add_mem (tmpu32
, tdep
->size_loff_t
))
2147 /* sys_sync_file_range */
2155 /* sys_move_pages */
2157 regcache_raw_read (regcache
, tdep
->arg5
, (gdb_byte
*) & tmpu32
);
2161 regcache_raw_read (regcache
, tdep
->arg2
,
2162 (gdb_byte
*) & nr_pages
);
2163 if (record_arch_list_add_mem (tmpu32
, nr_pages
* tdep
->size_int
))
2170 regcache_raw_read (regcache
, tdep
->arg1
, (gdb_byte
*) & tmpu32
);
2171 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
2173 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
2174 if (record_arch_list_add_mem (tmpu32
, tdep
->size_int
))
2176 regcache_raw_read (regcache
, tdep
->arg3
, (gdb_byte
*) & tmpu32
);
2177 if (record_arch_list_add_mem (tmpu32
, tdep
->size_ulong
* 2))
2181 /* sys_epoll_pwait */
2183 regcache_raw_read (regcache
, tdep
->arg2
, (gdb_byte
*) & tmpu32
);
2187 regcache_raw_read (regcache
, tdep
->arg3
,
2188 (gdb_byte
*) & maxevents
);
2189 if (record_arch_list_add_mem
2190 (tmpu32
, maxevents
* tdep
->size_epoll_event
))
2196 printf_unfiltered (_("Process record and replay target doesn't "
2197 "support syscall number %u\n"),