From d2de23ad3916c9d6f6102688fdbd5fdc73053c43 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marcin=20Ko=C5=9Bcielnicki?= Date: Fri, 30 Oct 2015 15:52:00 +0000 Subject: [PATCH] gdb/linux-record: Fix newfstatat handling 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 a6d007191a6..433ec95c0c3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2015-10-30 Marcin Kościelnicki + + * linux-record.c (record_linux_system_call): Fix newstatat. + 2015-10-30 Marcin Kościelnicki * linux-record.c (record_linux_system_call): Fix [gs]etgroups16. diff --git a/gdb/linux-record.c b/gdb/linux-record.c index 25cbda1afcf..9f38c0b6bd7 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.30.2