Fix printing of negative offsets in pread64 and pwrite64 syscalls

* io.c (SYS_FUNC(pread), SYS_FUNC(pwrite)): Print offset
using %lld format string.
* tests/pread64-pwrite64.c: New file.
* tests/pread64-pwrite64.test: New test.
* tests/.gitignore: Add pread64-pwrite64.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(pread64_pwrite64_CPPFLAGS): New variable.
(DECODER_TESTS): Add pread64-pwrite64.
diff --git a/io.c b/io.c
index d8444f3..ce787cd 100644
--- a/io.c
+++ b/io.c
@@ -169,7 +169,7 @@
 		else
 			printstr(tcp, tcp->u_arg[1], tcp->u_rval);
 		tprintf(", %lu, ", tcp->u_arg[2]);
-		printllval(tcp, "%llu", PREAD_OFFSET_ARG);
+		printllval(tcp, "%lld", PREAD_OFFSET_ARG);
 	}
 	return 0;
 }
@@ -180,7 +180,7 @@
 	tprints(", ");
 	printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
 	tprintf(", %lu, ", tcp->u_arg[2]);
-	printllval(tcp, "%llu", PREAD_OFFSET_ARG);
+	printllval(tcp, "%lld", PREAD_OFFSET_ARG);
 
 	return RVAL_DECODED;
 }