aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/i386-linux-tdep.c')
-rw-r--r--gdb/i386-linux-tdep.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index 0f7820d9412..163b03607d2 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -586,6 +586,14 @@ static int i386_linux_sc_reg_offset[] =
#define I386_LINUX_RECORD_IOCTL_TIOCSHAYESESP 0x545F
#define I386_LINUX_RECORD_IOCTL_FIOQSIZE 0x5460
+/* The values of the second argument of system call "sys_fcntl"
+ and "sys_fcntl64". The values of these macros were obtained from
+ Linux Kernel source. */
+#define I386_LINUX_RECORD_FCNTL_F_GETLK 5
+#define I386_LINUX_RECORD_FCNTL_F_GETLK64 12
+#define I386_LINUX_RECORD_FCNTL_F_SETLK64 13
+#define I386_LINUX_RECORD_FCNTL_F_SETLKW64 14
+
static void
i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
@@ -783,6 +791,12 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
I386_LINUX_RECORD_IOCTL_TIOCSHAYESESP;
i386_linux_record_tdep.ioctl_FIOQSIZE = I386_LINUX_RECORD_IOCTL_FIOQSIZE;
+ i386_linux_record_tdep.fcntl_F_GETLK = I386_LINUX_RECORD_FCNTL_F_GETLK;
+ i386_linux_record_tdep.fcntl_F_GETLK64 = I386_LINUX_RECORD_FCNTL_F_GETLK64;
+ i386_linux_record_tdep.fcntl_F_SETLK64 = I386_LINUX_RECORD_FCNTL_F_SETLK64;
+ i386_linux_record_tdep.fcntl_F_SETLKW64 =
+ I386_LINUX_RECORD_FCNTL_F_SETLKW64;
+
i386_linux_record_tdep.arg1 = I386_EBX_REGNUM;
i386_linux_record_tdep.arg2 = I386_ECX_REGNUM;
i386_linux_record_tdep.arg3 = I386_EDX_REGNUM;