Add target_ops argument to to_fileio_open
[deliverable/binutils-gdb.git] / gdb / linux-record.c
index 74ef9bd0132a418c5ea479eebd17e863c03c465d..821c5354a9bc766324f4f621d5087c59244f8eb8 100644 (file)
@@ -1,6 +1,6 @@
 /* Process record and replay target code for GNU/Linux.
 
-   Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,6 +22,7 @@
 #include "gdbtypes.h"
 #include "regcache.h"
 #include "record.h"
+#include "record-full.h"
 #include "linux-record.h"
 
 /* These macros are the values of the first argument of system call
@@ -99,7 +100,7 @@ record_linux_sockaddr (struct regcache *regcache,
 
   a = alloca (tdep->size_int);
 
-  if (record_arch_list_add_mem ((CORE_ADDR) len, tdep->size_int))
+  if (record_full_arch_list_add_mem ((CORE_ADDR) len, tdep->size_int))
     return -1;
 
   /* Get the addrlen.  */
@@ -117,7 +118,7 @@ record_linux_sockaddr (struct regcache *regcache,
   if (addrlen <= 0 || addrlen > tdep->size_sockaddr)
     addrlen = tdep->size_sockaddr;
 
-  if (record_arch_list_add_mem ((CORE_ADDR) addr, addrlen))
+  if (record_full_arch_list_add_mem ((CORE_ADDR) addr, addrlen))
     return -1;
 
   return 0;
@@ -136,7 +137,7 @@ record_linux_msghdr (struct regcache *regcache,
   if (!addr)
     return 0;
 
-  if (record_arch_list_add_mem ((CORE_ADDR) addr, tdep->size_msghdr))
+  if (record_full_arch_list_add_mem ((CORE_ADDR) addr, tdep->size_msghdr))
     return -1;
 
   a = alloca (tdep->size_msghdr);
@@ -155,10 +156,11 @@ record_linux_msghdr (struct regcache *regcache,
   /* msg_name msg_namelen */
   addr = extract_unsigned_integer (a, tdep->size_pointer, byte_order);
   a += tdep->size_pointer;
-  if (record_arch_list_add_mem ((CORE_ADDR) addr,
-                                (int) extract_unsigned_integer (a,
-                                                               tdep->size_int,
-                                                               byte_order)))
+  if (record_full_arch_list_add_mem
+      ((CORE_ADDR) addr,
+       (int) extract_unsigned_integer (a,
+                                      tdep->size_int,
+                                      byte_order)))
     return -1;
   a += tdep->size_int;
 
@@ -192,7 +194,7 @@ record_linux_msghdr (struct regcache *regcache,
           tmpint = (int) extract_unsigned_integer (iov + tdep->size_pointer,
                                                    tdep->size_size_t,
                                                    byte_order);
-          if (record_arch_list_add_mem (tmpaddr, tmpint))
+          if (record_full_arch_list_add_mem (tmpaddr, tmpint))
             return -1;
           addr += tdep->size_iovec;
         }
@@ -203,7 +205,7 @@ record_linux_msghdr (struct regcache *regcache,
   addr = extract_unsigned_integer (a, tdep->size_pointer, byte_order);
   a += tdep->size_pointer;
   tmpint = (int) extract_unsigned_integer (a, tdep->size_size_t, byte_order);
-  if (record_arch_list_add_mem ((CORE_ADDR) addr, tmpint))
+  if (record_full_arch_list_add_mem ((CORE_ADDR) addr, tmpint))
     return -1;
 
   return 0;
@@ -240,6 +242,7 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_exit:
       {
         int q;
+
         target_terminal_ours ();
         q = yquery (_("The next instruction is syscall exit.  "
                       "It will make the program exit.  "
@@ -256,9 +259,10 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_read:
       {
         ULONGEST addr, count;
+
         regcache_raw_read_unsigned (regcache, tdep->arg2, &addr);
         regcache_raw_read_unsigned (regcache, tdep->arg3, &count);
-        if (record_arch_list_add_mem ((CORE_ADDR) addr, (int) count))
+        if (record_full_arch_list_add_mem ((CORE_ADDR) addr, (int) count))
           return -1;
       }
       break;
@@ -283,8 +287,8 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_fstat:
     case gdb_sys_lstat:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size__old_kernel_stat))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size__old_kernel_stat))
         return -1;
       break;
 
@@ -305,7 +309,7 @@ record_linux_system_call (enum gdb_syscall syscall,
         {
           regcache_raw_read_unsigned (regcache, tdep->arg4,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, 4))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, 4))
             return -1;
         }
       break;
@@ -329,7 +333,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_times:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_tms))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_tms))
         return -1;
       break;
 
@@ -401,8 +406,8 @@ record_linux_system_call (enum gdb_syscall syscall,
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_termios))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_termios))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCGPGRP
@@ -410,8 +415,8 @@ record_linux_system_call (enum gdb_syscall syscall,
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_pid_t))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_pid_t))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCOUTQ
@@ -425,16 +430,16 @@ record_linux_system_call (enum gdb_syscall syscall,
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_int))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_int))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCGWINSZ)
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_winsize))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_winsize))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCLINUX)
@@ -442,47 +447,47 @@ record_linux_system_call (enum gdb_syscall syscall,
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
          /* This syscall affects a char-size memory.  */
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, 1))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, 1))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCGSERIAL)
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_serial_struct))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_serial_struct))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TCGETS2)
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_termios2))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_termios2))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_FIOQSIZE)
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_loff_t))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_loff_t))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCGICOUNT)
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_serial_icounter_struct))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_serial_icounter_struct))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCGHAYESESP)
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_hayes_esp_config))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_hayes_esp_config))
             return -1;
         }
       else if (tmpulongest == tdep->ioctl_TIOCSERGSTRUCT)
@@ -508,8 +513,8 @@ record_linux_system_call (enum gdb_syscall syscall,
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_flock))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_flock))
             return -1;
         }
       break;
@@ -521,8 +526,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_olduname:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_oldold_utsname))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_oldold_utsname))
         return -1;
       break;
 
@@ -532,8 +537,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_ustat:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_ustat))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_ustat))
         return -1;
       break;
 
@@ -545,8 +550,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_sigaction:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_sigaction))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_sigaction))
         return -1;
       break;
 
@@ -559,8 +564,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_sigpending:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_sigset_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_sigset_t))
         return -1;
       break;
 
@@ -570,26 +575,26 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_old_getrlimit:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_rlimit))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_rlimit))
         return -1;
       break;
 
     case gdb_sys_getrusage:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_rusage))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_rusage))
         return -1;
       break;
 
     case gdb_sys_gettimeofday:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timeval))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timeval))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timezone))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timezone))
         return -1;
       break;
 
@@ -598,15 +603,15 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_getgroups16:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_gid_t))
         return -1;
       break;
 
     case gdb_sys_setgroups16:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_gid_t))
         return -1;
       break;
 
@@ -636,13 +641,13 @@ record_linux_system_call (enum gdb_syscall syscall,
                                       (unsigned long) sizeof (sel));
                 return -1;
               }
-            if (record_arch_list_add_mem (sel.inp, tdep->size_fd_set))
+            if (record_full_arch_list_add_mem (sel.inp, tdep->size_fd_set))
               return -1;
-            if (record_arch_list_add_mem (sel.outp, tdep->size_fd_set))
+            if (record_full_arch_list_add_mem (sel.outp, tdep->size_fd_set))
               return -1;
-            if (record_arch_list_add_mem (sel.exp, tdep->size_fd_set))
+            if (record_full_arch_list_add_mem (sel.exp, tdep->size_fd_set))
               return -1;
-            if (record_arch_list_add_mem (sel.tvp, tdep->size_timeval))
+            if (record_full_arch_list_add_mem (sel.tvp, tdep->size_timeval))
               return -1;
           }
       }
@@ -654,10 +659,11 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_readlink:
       {
         ULONGEST len;
+
         regcache_raw_read_unsigned (regcache, tdep->arg2,
                                     &tmpulongest);
         regcache_raw_read_unsigned (regcache, tdep->arg3, &len);
-        if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) len))
+        if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) len))
           return -1;
       }
       break;
@@ -669,11 +675,11 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_reboot:
       {
         int q;
+
         target_terminal_ours ();
-        q =
-          yquery (_("The next instruction is syscall reboot.  "
-                    "It will restart the computer.  "
-                    "Do you want to stop the program?"));
+        q = yquery (_("The next instruction is syscall reboot.  "
+                     "It will restart the computer.  "
+                     "Do you want to stop the program?"));
         target_terminal_inferior ();
         if (q)
           return 1;
@@ -682,8 +688,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_old_readdir:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_dirent))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_dirent))
         return -1;
       break;
 
@@ -692,21 +698,26 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_munmap:
       {
-        int q;
         ULONGEST len;
 
         regcache_raw_read_unsigned (regcache, tdep->arg1,
                                     &tmpulongest);
         regcache_raw_read_unsigned (regcache, tdep->arg2, &len);
-        target_terminal_ours ();
-        q = yquery (_("The next instruction is syscall munmap.  "
-                      "It will free the memory addr = 0x%s len = %u.  "
-                      "It will make record target get error.  "
-                      "Do you want to stop the program?"),
-                    OUTPUT_REG (tmpulongest, tdep->arg1), (int) len);
-        target_terminal_inferior ();
-        if (q)
-          return 1;
+        if (record_full_memory_query)
+          {
+           int q;
+
+            target_terminal_ours ();
+            q = yquery (_("\
+The next instruction is syscall munmap.\n\
+It will free the memory addr = 0x%s len = %u.\n\
+It will make record target cannot record some memory change.\n\
+Do you want to stop the program?"),
+                        OUTPUT_REG (tmpulongest, tdep->arg1), (int) len);
+            target_terminal_inferior ();
+            if (q)
+              return 1;
+          }
       }
       break;
 
@@ -722,8 +733,8 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_statfs:
     case gdb_sys_fstatfs:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_statfs))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_statfs))
         return -1;
       break;
 
@@ -745,6 +756,7 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_getpeername:
       {
         ULONGEST len;
+
         regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
         regcache_raw_read_unsigned (regcache, tdep->arg3, &len);
         if (record_linux_sockaddr (regcache, tdep, tmpulongest, len))
@@ -755,17 +767,22 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_recvfrom:
       {
         ULONGEST len;
+
         regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
         regcache_raw_read_unsigned (regcache, tdep->arg5, &len);
         if (record_linux_sockaddr (regcache, tdep, tmpulongest, len))
           return -1;
       }
+      break;
+
     case gdb_sys_recv:
       {
         ULONGEST size;
+
         regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
         regcache_raw_read_unsigned (regcache, tdep->arg3, &size);
-        if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) size))
+        if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                          (int) size))
           return -1;
       }
       break;
@@ -778,7 +795,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_socketpair:
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       break;
 
@@ -788,6 +806,7 @@ record_linux_system_call (enum gdb_syscall syscall,
         {
           ULONGEST optvalp;
           gdb_byte *optlenp = alloca (tdep->size_int);
+
           if (target_read_memory ((CORE_ADDR) tmpulongest, optlenp,
                                   tdep->size_int))
             {
@@ -803,10 +822,10 @@ record_linux_system_call (enum gdb_syscall syscall,
           regcache_raw_read_unsigned (regcache, tdep->arg4, &optvalp);
           tmpint = (int) extract_signed_integer (optlenp, tdep->size_int,
                                                  byte_order);
-          if (record_arch_list_add_mem ((CORE_ADDR) optvalp, tmpint))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) optvalp, tmpint))
             return -1;
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_int))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_int))
             return -1;
         }
       break;
@@ -829,8 +848,6 @@ record_linux_system_call (enum gdb_syscall syscall,
             if (tmpulongest)
               {
                 gdb_byte *a = alloca (tdep->size_ulong * 2);
-                int addrlen;
-                gdb_byte *addrlenp;
                 ULONGEST len;
 
                 tmpulongest += tdep->size_ulong;
@@ -859,6 +876,7 @@ record_linux_system_call (enum gdb_syscall syscall,
         case RECORD_SYS_SOCKETPAIR:
           {
             gdb_byte *a = alloca (tdep->size_ulong);
+
             regcache_raw_read_unsigned (regcache, tdep->arg2,
                                         &tmpulongest);
             if (tmpulongest)
@@ -878,7 +896,7 @@ record_linux_system_call (enum gdb_syscall syscall,
                 tmpaddr
                   = (CORE_ADDR) extract_unsigned_integer (a, tdep->size_ulong,
                                                           byte_order);
-                if (record_arch_list_add_mem (tmpaddr, tdep->size_int))
+                if (record_full_arch_list_add_mem (tmpaddr, tdep->size_int))
                   return -1;
               }
           }
@@ -892,8 +910,6 @@ record_linux_system_call (enum gdb_syscall syscall,
           if (tmpulongest)
             {
               gdb_byte *a = alloca (tdep->size_ulong * 2);
-              int addrlen;
-              gdb_byte *addrlenp;
               ULONGEST len;
 
               tmpulongest += tdep->size_ulong * 4;
@@ -941,8 +957,8 @@ record_linux_system_call (enum gdb_syscall syscall,
                   a += tdep->size_ulong;
                   tmpint = (int) extract_unsigned_integer (a, tdep->size_ulong,
                                                            byte_order);
-                  if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                                tmpint))
+                  if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                                    tmpint))
                     return -1;
                 }
             }
@@ -996,14 +1012,15 @@ record_linux_system_call (enum gdb_syscall syscall,
                     tmpint = (int) extract_unsigned_integer (av,
                                                              tdep->size_int,
                                                              byte_order);
-                    if (record_arch_list_add_mem (tmpaddr, tmpint))
+                    if (record_full_arch_list_add_mem (tmpaddr, tmpint))
                       return -1;
                     a += tdep->size_ulong;
                     tmpaddr
                       = (CORE_ADDR) extract_unsigned_integer (a,
                                                               tdep->size_ulong,
                                                               byte_order);
-                    if (record_arch_list_add_mem (tmpaddr, tdep->size_int))
+                    if (record_full_arch_list_add_mem (tmpaddr,
+                                                      tdep->size_int))
                       return -1;
                   }
               }
@@ -1052,15 +1069,15 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_setitimer:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_itimerval))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_itimerval))
         return -1;
       break;
 
     case gdb_sys_getitimer:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_itimerval))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_itimerval))
         return -1;
       break;
 
@@ -1069,14 +1086,15 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_newfstat:
     case gdb_sys_newfstatat:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_stat))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_stat))
         return -1;
       break;
 
     case gdb_sys_uname:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_utsname))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_utsname))
         return -1;
       break;
 
@@ -1088,12 +1106,12 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_wait4:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_rusage))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_rusage))
         return -1;
       break;
 
@@ -1102,8 +1120,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_sysinfo:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_sysinfo))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_sysinfo))
         return -1;
       break;
 
@@ -1119,15 +1137,15 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_shmat:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_ulong))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_ulong))
         return -1;
       break;
 
     case gdb_sys_shmctl:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_shmid_ds))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_shmid_ds))
         return -1;
       break;
 
@@ -1137,18 +1155,20 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_msgrcv:
       {
         ULONGEST msgp;
-        regcache_raw_read_signed (regcache, tdep->arg3, &tmpulongest);
+        LONGEST l;
+
+        regcache_raw_read_signed (regcache, tdep->arg3, &l);
         regcache_raw_read_unsigned (regcache, tdep->arg2, &msgp);
-        tmpint = (int) tmpulongest + tdep->size_long;
-        if (record_arch_list_add_mem ((CORE_ADDR) msgp, tmpint))
+        tmpint = l + tdep->size_long;
+        if (record_full_arch_list_add_mem ((CORE_ADDR) msgp, tmpint))
           return -1;
       }
       break;
 
     case gdb_sys_msgctl:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_msqid_ds))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_msqid_ds))
         return -1;
       break;
 
@@ -1168,34 +1188,35 @@ record_linux_system_call (enum gdb_syscall syscall,
           break;
         case RECORD_MSGRCV:
           {
-            ULONGEST second;
+            LONGEST second;
             ULONGEST ptr;
+
             regcache_raw_read_signed (regcache, tdep->arg3, &second);
             regcache_raw_read_unsigned (regcache, tdep->arg5, &ptr);
             tmpint = (int) second + tdep->size_long;
-            if (record_arch_list_add_mem ((CORE_ADDR) ptr, tmpint))
+            if (record_full_arch_list_add_mem ((CORE_ADDR) ptr, tmpint))
               return -1;
           }
           break;
         case RECORD_MSGCTL:
           regcache_raw_read_unsigned (regcache, tdep->arg5,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_msqid_ds))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_msqid_ds))
             return -1;
           break;
         case RECORD_SHMAT:
           regcache_raw_read_unsigned (regcache, tdep->arg4,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_ulong))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_ulong))
             return -1;
           break;
         case RECORD_SHMCTL:
           regcache_raw_read_unsigned (regcache, tdep->arg5,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_shmid_ds))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_shmid_ds))
             return -1;
           break;
         default:
@@ -1215,8 +1236,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_newuname:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_new_utsname))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_new_utsname))
         return -1;
       break;
 
@@ -1225,16 +1246,18 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest == 0 || tmpulongest == 2)
         {
           ULONGEST ptr, bytecount;
+
           regcache_raw_read_unsigned (regcache, tdep->arg2, &ptr);
           regcache_raw_read_unsigned (regcache, tdep->arg3, &bytecount);
-          if (record_arch_list_add_mem ((CORE_ADDR) ptr, (int) bytecount))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) ptr, (int) bytecount))
             return -1;
         }
       break;
 
     case gdb_sys_adjtimex:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_timex))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timex))
         return -1;
       break;
 
@@ -1243,8 +1266,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_sigprocmask:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_sigset_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_sigset_t))
         return -1;
       break;
 
@@ -1262,29 +1285,29 @@ record_linux_system_call (enum gdb_syscall syscall,
           regcache_raw_read_unsigned (regcache, tdep->arg4,
                                       &tmpulongest);
           /* __u32 */
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, 4))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, 4))
             return -1;
           break;
         case RECORD_Q_GETINFO:
           regcache_raw_read_unsigned (regcache, tdep->arg4,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_mem_dqinfo))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_mem_dqinfo))
             return -1;
           break;
         case RECORD_Q_GETQUOTA:
           regcache_raw_read_unsigned (regcache, tdep->arg4,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_if_dqblk))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_if_dqblk))
             return -1;
           break;
         case RECORD_Q_XGETQSTAT:
         case RECORD_Q_XGETQUOTA:
           regcache_raw_read_unsigned (regcache, tdep->arg4,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_fs_quota_stat))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_fs_quota_stat))
             return -1;
           break;
         }
@@ -1302,7 +1325,7 @@ record_linux_system_call (enum gdb_syscall syscall,
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
          /*XXX the size of memory is not very clear.  */
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, 10))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, 10))
             return -1;
         }
       break;
@@ -1315,39 +1338,40 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_llseek:
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_loff_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_loff_t))
         return -1;
       break;
 
     case gdb_sys_getdents:
       {
         ULONGEST count;
+
         regcache_raw_read_unsigned (regcache, tdep->arg2,
                                     &tmpulongest);
         regcache_raw_read_unsigned (regcache, tdep->arg3, &count);
-        if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                      tdep->size_dirent * count))
+        if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                          tdep->size_dirent * count))
           return -1;
       }
       break;
 
     case gdb_sys_select:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_fd_set))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_fd_set))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_fd_set))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_fd_set))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_fd_set))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_fd_set))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg5, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timeval))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timeval))
         return -1;
       break;
 
@@ -1386,7 +1410,7 @@ record_linux_system_call (enum gdb_syscall syscall,
                   = (int) extract_unsigned_integer (iov + tdep->size_pointer,
                                                     tdep->size_size_t,
                                                     byte_order);
-                if (record_arch_list_add_mem (tmpaddr, tmpint))
+                if (record_full_arch_list_add_mem (tmpaddr, tmpint))
                   return -1;
                 vec += tdep->size_iovec;
               }
@@ -1407,7 +1431,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_sched_getparam:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       break;
 
@@ -1421,8 +1446,8 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_sched_rr_get_interval:
     case gdb_sys_nanosleep:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timespec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timespec))
         return -1;
       break;
 
@@ -1432,16 +1457,16 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_getresuid16:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_uid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_uid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_uid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_uid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_uid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_uid_t))
         return -1;
       break;
 
@@ -1454,9 +1479,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST nfds;
+
           regcache_raw_read_unsigned (regcache, tdep->arg2, &nfds);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_pollfd * nfds))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_pollfd * nfds))
             return -1;
         }
       break;
@@ -1466,13 +1492,14 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest == 7 || tmpulongest == 8)
         {
           int rsize;
+
           if (tmpulongest == 7)
             rsize = tdep->size_NFS_FHSIZE;
           else
             rsize = tdep->size_knfsd_fh;
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, rsize))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, rsize))
             return -1;
         }
       break;
@@ -1482,16 +1509,16 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_getresgid16:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_gid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_gid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_old_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_old_gid_t))
         return -1;
       break;
 
@@ -1502,15 +1529,15 @@ record_linux_system_call (enum gdb_syscall syscall,
         case 2:
           regcache_raw_read_unsigned (regcache, tdep->arg2,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_int))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_int))
             return -1;
           break;
         case 16:
           regcache_raw_read_unsigned (regcache, tdep->arg2,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_TASK_COMM_LEN))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_TASK_COMM_LEN))
             return -1;
           break;
         }
@@ -1521,15 +1548,15 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_rt_sigaction:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_sigaction))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_sigaction))
         return -1;
       break;
 
     case gdb_sys_rt_sigprocmask:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_sigset_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_sigset_t))
         return -1;
       break;
 
@@ -1538,17 +1565,18 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST sigsetsize;
+
           regcache_raw_read_unsigned (regcache, tdep->arg2,&sigsetsize);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        (int) sigsetsize))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) sigsetsize))
             return -1;
         }
       break;
 
     case gdb_sys_rt_sigtimedwait:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_siginfo_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_siginfo_t))
         return -1;
       break;
 
@@ -1561,8 +1589,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST count;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3,&count);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) count))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) count))
             return -1;
         }
       break;
@@ -1576,16 +1606,18 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST size;
+
           regcache_raw_read_unsigned (regcache, tdep->arg2, &size);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) size))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) size))
             return -1;
         }
       break;
 
     case gdb_sys_capget:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_cap_user_data_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_cap_user_data_t))
         return -1;
       break;
 
@@ -1594,15 +1626,15 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_sigaltstack:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_stack_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_stack_t))
         return -1;
       break;
 
     case gdb_sys_sendfile:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_off_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_off_t))
         return -1;
       break;
 
@@ -1613,8 +1645,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_getrlimit:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_rlimit))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_rlimit))
         return -1;
       break;
 
@@ -1629,8 +1661,8 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_lstat64:
     case gdb_sys_fstat64:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_stat64))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_stat64))
         return -1;
       break;
 
@@ -1648,10 +1680,11 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST gidsetsize;
+
           regcache_raw_read_unsigned (regcache, tdep->arg1,
                                       &gidsetsize);
           tmpint = tdep->size_gid_t * (int) gidsetsize;
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tmpint))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, tmpint))
             return -1;
         }
       break;
@@ -1663,13 +1696,16 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_getresuid:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_uid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_uid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_uid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_uid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_uid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_uid_t))
         return -1;
       break;
 
@@ -1678,13 +1714,16 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_getresgid:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_gid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_gid_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_gid_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_gid_t))
         return -1;
       break;
 
@@ -1698,8 +1737,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_mincore:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_PAGE_SIZE))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_PAGE_SIZE))
         return -1;
       break;
 
@@ -1709,11 +1748,12 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_getdents64:
       {
         ULONGEST count;
+
         regcache_raw_read_unsigned (regcache, tdep->arg2,
                                     &tmpulongest);
         regcache_raw_read_unsigned (regcache, tdep->arg3, &count);
-        if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                      tdep->size_dirent64 * count))
+        if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                          tdep->size_dirent64 * count))
           return -1;
       }
       break;
@@ -1724,8 +1764,8 @@ record_linux_system_call (enum gdb_syscall syscall,
         {
           regcache_raw_read_unsigned (regcache, tdep->arg3,
                                       &tmpulongest);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_flock64))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_flock64))
             return -1;
         }
       else if (tmpulongest != tdep->fcntl_F_SETLK64
@@ -1751,8 +1791,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST size;
+
           regcache_raw_read_unsigned (regcache, tdep->arg4, &size);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) size))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) size))
             return -1;
         }
       break;
@@ -1764,8 +1806,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST size;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3, &size);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) size))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) size))
             return -1;
         }
       break;
@@ -1778,8 +1822,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_sendfile64:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_loff_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_loff_t))
         return -1;
       break;
 
@@ -1792,28 +1836,32 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST len;
+
           regcache_raw_read_unsigned (regcache, tdep->arg2, &len);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) len))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) len))
             return -1;
         }
       break;
 
     case gdb_sys_set_thread_area:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       break;
 
     case gdb_sys_get_thread_area:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_user_desc))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_user_desc))
         return -1;
       break;
 
     case gdb_sys_io_setup:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_long))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_long))
         return -1;
       break;
 
@@ -1825,9 +1873,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST nr;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3, &nr);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        nr * tdep->size_io_event))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            nr * tdep->size_io_event))
             return -1;
         }
       break;
@@ -1858,7 +1907,7 @@ record_linux_system_call (enum gdb_syscall syscall,
                 = (CORE_ADDR) extract_unsigned_integer (iocbp,
                                                         tdep->size_pointer,
                                                         byte_order);
-              if (record_arch_list_add_mem (tmpaddr, tdep->size_iocb))
+              if (record_full_arch_list_add_mem (tmpaddr, tdep->size_iocb))
                 return -1;
               iocbp += tdep->size_pointer;
             }
@@ -1867,8 +1916,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_io_cancel:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_io_event))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_io_event))
         return -1;
       break;
 
@@ -1879,6 +1928,7 @@ record_linux_system_call (enum gdb_syscall syscall,
     case gdb_sys_exit_group:
       {
         int q;
+
         target_terminal_ours ();
         q = yquery (_("The next instruction is syscall exit_group.  "
                       "It will make the program exit.  "
@@ -1894,8 +1944,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST len;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3, &len);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) len))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) len))
             return -1;
         }
       break;
@@ -1909,9 +1961,11 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST maxevents;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3, &maxevents);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        maxevents * tdep->size_epoll_event))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (maxevents
+                                             * tdep->size_epoll_event)))
             return -1;
         }
       break;
@@ -1922,21 +1976,22 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_timer_create:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       break;
 
     case gdb_sys_timer_settime:
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_itimerspec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_itimerspec))
         return -1;
       break;
 
     case gdb_sys_timer_gettime:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_itimerspec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_itimerspec))
         return -1;
       break;
 
@@ -1947,30 +2002,30 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_clock_gettime:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timespec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timespec))
         return -1;
       break;
 
     case gdb_sys_clock_getres:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timespec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timespec))
         return -1;
       break;
 
     case gdb_sys_clock_nanosleep:
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timespec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timespec))
         return -1;
       break;
 
     case gdb_sys_statfs64:
     case gdb_sys_fstatfs64:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_statfs64))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_statfs64))
         return -1;
       break;
 
@@ -1983,15 +2038,17 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_get_mempolicy:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
       if (tmpulongest)
         {
           ULONGEST maxnode;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3, &maxnode);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        maxnode * tdep->size_long))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            maxnode * tdep->size_long))
             return -1;
         }
       break;
@@ -2007,13 +2064,15 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST msg_len;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3, &msg_len);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        (int) msg_len))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) msg_len))
             return -1;
         }
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       break;
 
@@ -2022,8 +2081,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_mq_getsetattr:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_mq_attr))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_mq_attr))
         return -1;
       break;
 
@@ -2032,12 +2091,12 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_waitid:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_siginfo))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_siginfo))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg5, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_rusage))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_rusage))
         return -1;
       break;
 
@@ -2055,9 +2114,10 @@ record_linux_system_call (enum gdb_syscall syscall,
           if (tmpulongest)
             {
               ULONGEST buflen;
+
               regcache_raw_read_unsigned (regcache, tdep->arg4, &buflen);
-              if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                            (int) buflen))
+              if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                                (int) buflen))
                 return -1;
             }
         }
@@ -2078,8 +2138,8 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_fstatat64:
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_stat64))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_stat64))
         return -1;
       break;
 
@@ -2094,8 +2154,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST bufsiz;
+
           regcache_raw_read_unsigned (regcache, tdep->arg4, &bufsiz);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, (int) bufsiz))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            (int) bufsiz))
             return -1;
         }
       break;
@@ -2106,20 +2168,20 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_pselect6:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_fd_set))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_fd_set))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_fd_set))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_fd_set))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_fd_set))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_fd_set))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg5, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timespec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timespec))
         return -1;
       break;
 
@@ -2128,14 +2190,15 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST nfds;
+
           regcache_raw_read_unsigned (regcache, tdep->arg2, &nfds);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        tdep->size_pollfd * nfds))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            tdep->size_pollfd * nfds))
             return -1;
         }
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_timespec))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_timespec))
         return -1;
       break;
 
@@ -2145,21 +2208,23 @@ record_linux_system_call (enum gdb_syscall syscall,
 
     case gdb_sys_get_robust_list:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       break;
 
     case gdb_sys_splice:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_loff_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_loff_t))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg4, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_loff_t))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_loff_t))
         return -1;
       break;
 
@@ -2173,23 +2238,26 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST nr_pages;
+
           regcache_raw_read_unsigned (regcache, tdep->arg2, &nr_pages);
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                        nr_pages * tdep->size_int))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                            nr_pages * tdep->size_int))
             return -1;
         }
       break;
 
     case gdb_sys_getcpu:
       regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tdep->size_int))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_int))
         return -1;
       regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
-      if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-                                    tdep->size_ulong * 2))
+      if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
+                                        tdep->size_ulong * 2))
         return -1;
       break;
 
@@ -2198,9 +2266,10 @@ record_linux_system_call (enum gdb_syscall syscall,
       if (tmpulongest)
         {
           ULONGEST maxevents;
+
           regcache_raw_read_unsigned (regcache, tdep->arg3, &maxevents);
           tmpint = (int) maxevents * tdep->size_epoll_event;
-          if (record_arch_list_add_mem ((CORE_ADDR) tmpulongest, tmpint))
+          if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, tmpint))
             return -1;
         }
       break;
This page took 0.087508 seconds and 4 git commands to generate.