32 #define RECORD_PTRACE_PEEKTEXT 1
33 #define RECORD_PTRACE_PEEKDATA 2
34 #define RECORD_PTRACE_PEEKUSR 3
40 #define RECORD_SYS_SOCKET 1
41 #define RECORD_SYS_BIND 2
42 #define RECORD_SYS_CONNECT 3
43 #define RECORD_SYS_LISTEN 4
44 #define RECORD_SYS_ACCEPT 5
45 #define RECORD_SYS_GETSOCKNAME 6
46 #define RECORD_SYS_GETPEERNAME 7
47 #define RECORD_SYS_SOCKETPAIR 8
48 #define RECORD_SYS_SEND 9
49 #define RECORD_SYS_RECV 10
50 #define RECORD_SYS_SENDTO 11
51 #define RECORD_SYS_RECVFROM 12
52 #define RECORD_SYS_SHUTDOWN 13
53 #define RECORD_SYS_SETSOCKOPT 14
54 #define RECORD_SYS_GETSOCKOPT 15
55 #define RECORD_SYS_SENDMSG 16
56 #define RECORD_SYS_RECVMSG 17
62 #define RECORD_SEMOP 1
63 #define RECORD_SEMGET 2
64 #define RECORD_SEMCTL 3
65 #define RECORD_SEMTIMEDOP 4
66 #define RECORD_MSGSND 11
67 #define RECORD_MSGRCV 12
68 #define RECORD_MSGGET 13
69 #define RECORD_MSGCTL 14
70 #define RECORD_SHMAT 21
71 #define RECORD_SHMDT 22
72 #define RECORD_SHMGET 23
73 #define RECORD_SHMCTL 24
79 #define RECORD_Q_GETFMT 0x800004
80 #define RECORD_Q_GETINFO 0x800005
81 #define RECORD_Q_GETQUOTA 0x800007
82 #define RECORD_Q_XGETQSTAT (('5' << 8) + 5)
83 #define RECORD_Q_XGETQUOTA (('3' << 8) + 3)
85 #define OUTPUT_REG(val, num) phex_nz ((val), \
86 TYPE_LENGTH (gdbarch_register_type (get_regcache_arch (regcache), (num))))
111 "Process record: error reading "
112 "memory at addr = 0x%s len = %d.\n",
148 "Process record: error reading "
149 "memory at addr = 0x%s "
177 for (i = 0; i <
len; i++)
183 "Process record: error "
247 q =
yquery (
_(
"The next instruction is syscall exit. "
248 "It will make the program exit. "
249 "Do you want to stop the program?"));
496 "support ioctl request TIOCSERGSTRUCT\n"));
502 "support ioctl request 0x%s.\n"),
620 struct sel_arg_struct
638 "Process record: error reading memory "
639 "at addr = 0x%s len = %lu.\n",
641 (
unsigned long) sizeof (sel));
680 q =
yquery (
_(
"The next instruction is syscall reboot. "
681 "It will restart the computer. "
682 "Do you want to stop the program?"));
712 The next instruction is syscall munmap.\n\
713 It will free the memory addr = 0x%s len = %u.\n\
714 It will make record target cannot record some memory change.\n\
715 Do you want to stop the program?"),
815 "Process record: error reading "
816 "memory at addr = 0x%s "
859 "Process record: error reading "
860 "memory at addr = 0x%s len = %d.\n",
890 "Process record: error reading "
891 "memory at addr = 0x%s len = %d.\n",
921 "Process record: error reading "
922 "memory at addr = 0x%s len = %d.\n",
947 "Process record: error reading "
948 "memory at addr = 0x%s len = %d.\n",
984 "Process record: error reading "
985 "memory at addr = 0x%s len = %d.\n",
1000 "Process record: error reading "
1001 "memory at addr = 0x%s "
1045 "Process record: error reading "
1046 "memory at addr = 0x%s len = %d.\n",
1060 "doesn't support socketcall call 0x%s\n"),
1177 tmpulongest &= 0xffff;
1178 switch (tmpulongest)
1225 "support ipc number %s\n"),
1246 if (tmpulongest == 0 || tmpulongest == 2)
1282 switch (tmpulongest)
1323 if (tmpulongest == 2)
1392 for (tmpulongest = 0; tmpulongest < vlen; tmpulongest++)
1399 "Process record: error reading "
1400 "memory at addr = 0x%s len = %d.\n",
1492 if (tmpulongest == 7 || tmpulongest == 8)
1496 if (tmpulongest == 7)
1527 switch (tmpulongest)
1898 "Process record: error reading memory "
1899 "at addr = 0x%s len = %u.\n",
1904 for (i = 0; i < nr; i++)
1933 q =
yquery (
_(
"The next instruction is syscall exit_group. "
1934 "It will make the program exit. "
1935 "Do you want to stop the program?"));
2110 if (tmpulongest == 6 || tmpulongest == 11)
2279 "support syscall number %d\n"), syscall);
void target_terminal_ours(void)
ULONGEST extract_unsigned_integer(const gdb_byte *, int, enum bfd_endian)
int size_serial_icounter_struct
#define RECORD_SYS_ACCEPT
struct gdbarch * get_regcache_arch(const struct regcache *regcache)
struct gdbarch_tdep * tdep
int ioctl_TIOCSERGETMULTI
unsigned int record_debug
int yquery(const char *ctlstr,...)
#define RECORD_PTRACE_PEEKDATA
#define RECORD_Q_XGETQSTAT
int ioctl_TIOCSERSETMULTI
#define RECORD_SYS_SENDTO
#define RECORD_Q_GETQUOTA
int record_linux_system_call(enum gdb_syscall syscall, struct regcache *regcache, struct linux_record_tdep *tdep)
#define RECORD_SYS_LISTEN
#define RECORD_SYS_SETSOCKOPT
void target_terminal_inferior(void)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
char * pulongest(ULONGEST u)
#define RECORD_SYS_RECVMSG
#define RECORD_SYS_SENDMSG
#define RECORD_Q_XGETQUOTA
enum register_status regcache_raw_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
#define RECORD_SYS_GETPEERNAME
void printf_unfiltered(const char *format,...)
#define RECORD_SYS_GETSOCKOPT
struct ui_file * gdb_stdlog
int record_full_memory_query
#define RECORD_SYS_GETSOCKNAME
int record_full_arch_list_add_mem(CORE_ADDR addr, int len)
#define OUTPUT_REG(val, num)
const char const char int
char * phex_nz(ULONGEST l, int sizeof_l)
#define RECORD_PTRACE_PEEKTEXT
#define RECORD_PTRACE_PEEKUSR
#define RECORD_SYS_CONNECT
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
#define RECORD_SYS_RECVFROM
unsigned long long ULONGEST
#define RECORD_SYS_SHUTDOWN
#define RECORD_SYS_SOCKETPAIR
int size_hayes_esp_config
static int record_linux_sockaddr(struct regcache *regcache, struct linux_record_tdep *tdep, ULONGEST addr, ULONGEST len)
LONGEST extract_signed_integer(const gdb_byte *, int, enum bfd_endian)
#define RECORD_SEMTIMEDOP
int size__old_kernel_stat
enum bfd_endian byte_order
#define RECORD_SYS_SOCKET
static int record_linux_msghdr(struct regcache *regcache, struct linux_record_tdep *tdep, ULONGEST addr)
const ULONGEST const LONGEST len
enum register_status regcache_raw_read_signed(struct regcache *regcache, int regnum, LONGEST *val)