diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 59225c4a6f..3b78b087ee 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2013-03-07 Pedro Alves + + * linux-record.c (record_linux_system_call) : Pass a signed variable to + regcache_raw_read_signed, instead of an unsigned one. + 2013-03-07 Pedro Alves * remote-notif.c (notif_debug): Change type to int. diff --git a/gdb/linux-record.c b/gdb/linux-record.c index 5a9ec99a87..c7697000b8 100644 --- a/gdb/linux-record.c +++ b/gdb/linux-record.c @@ -1148,10 +1148,11 @@ Do you want to stop the program?"), case gdb_sys_msgrcv: { ULONGEST msgp; + LONGEST l; - regcache_raw_read_signed (regcache, tdep->arg3, &tmpulongest); + regcache_raw_read_signed (regcache, tdep->arg3, &l); regcache_raw_read_unsigned (regcache, tdep->arg2, &msgp); - tmpint = (int) tmpulongest + tdep->size_long; + tmpint = l + tdep->size_long; if (record_arch_list_add_mem ((CORE_ADDR) msgp, tmpint)) return -1; } @@ -1180,7 +1181,7 @@ Do you want to stop the program?"), break; case RECORD_MSGRCV: { - ULONGEST second; + LONGEST second; ULONGEST ptr; regcache_raw_read_signed (regcache, tdep->arg3, &second);