[PATCH v2 09/13] gdb/linux-record: Fix newfstatat handling

Marcin Kościelnicki koriakin@0x04.net
Thu Oct 22 15:07:00 GMT 2015


The struct stat pointer is in the third argument, not the second.

gdb/ChangeLog:

	* linux-record.c (record_linux_system_call): Fix newstatat.
---
 gdb/ChangeLog      | 4 ++++
 gdb/linux-record.c | 8 +++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1c3cc04..e3afacd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
 2015-10-22  Marcin Kościelnicki  <koriakin@0x04.net>
 
+	* linux-record.c (record_linux_system_call): Fix newstatat.
+
+2015-10-22  Marcin Kościelnicki  <koriakin@0x04.net>
+
 	* linux-record.c (record_linux_system_call): Fix [gs]etgroups16.
 
 2015-10-22  Marcin Kościelnicki  <koriakin@0x04.net>
diff --git a/gdb/linux-record.c b/gdb/linux-record.c
index 25cbda1..9f38c0b 100644
--- a/gdb/linux-record.c
+++ b/gdb/linux-record.c
@@ -1112,13 +1112,19 @@ Do you want to stop the program?"),
     case gdb_sys_newstat:
     case gdb_sys_newlstat:
     case gdb_sys_newfstat:
-    case gdb_sys_newfstatat:
       regcache_raw_read_unsigned (regcache, tdep->arg2, &tmpulongest);
       if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
 					 tdep->size_stat))
         return -1;
       break;
 
+    case gdb_sys_newfstatat:
+      regcache_raw_read_unsigned (regcache, tdep->arg3, &tmpulongest);
+      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_full_arch_list_add_mem ((CORE_ADDR) tmpulongest,
-- 
2.6.1



More information about the Gdb-patches mailing list