diff options
author | Yao Qi <yao.qi@linaro.org> | 2016-02-19 15:51:03 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2016-02-29 16:44:50 +0000 |
commit | 253b4d3a09e9edbb72d21127fbc85934ab1b7c07 (patch) | |
tree | 0490c367193afb39f3dc77ec4f2609db287b1341 /gdb | |
parent | 841fdfcdd9caa69f3ad7560a2806d421e23f598a (diff) | |
download | gdb-253b4d3a09e9edbb72d21127fbc85934ab1b7c07.zip gdb-253b4d3a09e9edbb72d21127fbc85934ab1b7c07.tar.gz gdb-253b4d3a09e9edbb72d21127fbc85934ab1b7c07.tar.bz2 |
Support more syscalls in linux-record: pipe2 epoll_create1 eventfd2 fallocate dup3 and inotify_init1
This patch adds more syscalls in linux-record.
gdb:
2016-02-29 Yao Qi <yao.qi@linaro.org>
* linux-record.h (enum gdb_syscall) <gdb_sys_fallocate>: New.
<gdb_sys_eventfd2, gdb_sys_epoll_create1, gdb_sys_dup3>: New.
<gdb_sys_pipe2, gdb_sys_inotify_init1>: New.
* linux-record.c (record_linux_system_call): Handle them.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/linux-record.c | 15 | ||||
-rw-r--r-- | gdb/linux-record.h | 6 |
3 files changed, 28 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bc6a713..aa5bb97 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2016-02-29 Yao Qi <yao.qi@linaro.org> + + * linux-record.h (enum gdb_syscall) <gdb_sys_fallocate>: New. + <gdb_sys_eventfd2, gdb_sys_epoll_create1, gdb_sys_dup3>: New. + <gdb_sys_pipe2, gdb_sys_inotify_init1>: New. + * linux-record.c (record_linux_system_call): Handle them. + 2016-02-28 Iain Buclaw <ibuclaw@gdcproject.org> * d-namespace.c (d_lookup_symbol_imports): Avoid recursive lookups from diff --git a/gdb/linux-record.c b/gdb/linux-record.c index 29e299d..a40845a 100644 --- a/gdb/linux-record.c +++ b/gdb/linux-record.c @@ -2302,6 +2302,21 @@ Do you want to stop the program?"), } break; + case gdb_sys_fallocate: + case gdb_sys_eventfd2: + case gdb_sys_epoll_create1: + case gdb_sys_dup3: + break; + + case gdb_sys_pipe2: + regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest); + if (record_full_arch_list_add_mem ((CORE_ADDR) tmpulongest, + tdep->size_int * 2)) + break; + + case gdb_sys_inotify_init1: + break; + default: printf_unfiltered (_("Process record and replay target doesn't " "support syscall number %d\n"), syscall); diff --git a/gdb/linux-record.h b/gdb/linux-record.h index ca6a117..b317ab1 100644 --- a/gdb/linux-record.h +++ b/gdb/linux-record.h @@ -504,6 +504,12 @@ enum gdb_syscall { gdb_sys_move_pages = 317, gdb_sys_getcpu = 318, gdb_sys_epoll_pwait = 319, + gdb_sys_fallocate = 324, + gdb_sys_eventfd2 = 328, + gdb_sys_epoll_create1 = 329, + gdb_sys_dup3 = 330, + gdb_sys_pipe2 = 331, + gdb_sys_inotify_init1 = 332, gdb_sys_socket = 500, gdb_sys_connect = 501, gdb_sys_accept = 502, |