|
@@ -22,13 +22,18 @@ static struct syscall_fmt {
|
|
|
const char *alias;
|
|
|
bool errmsg;
|
|
|
bool timeout;
|
|
|
+ bool hexret;
|
|
|
} syscall_fmts[] = {
|
|
|
{ .name = "access", .errmsg = true, },
|
|
|
{ .name = "arch_prctl", .errmsg = true, .alias = "prctl", },
|
|
|
+ { .name = "brk", .hexret = true, },
|
|
|
+ { .name = "mmap", .hexret = true, },
|
|
|
{ .name = "connect", .errmsg = true, },
|
|
|
{ .name = "fstat", .errmsg = true, .alias = "newfstat", },
|
|
|
{ .name = "fstatat", .errmsg = true, .alias = "newfstatat", },
|
|
|
{ .name = "futex", .errmsg = true, },
|
|
|
+ { .name = "mmap", .hexret = true, },
|
|
|
+ { .name = "mremap", .hexret = true, },
|
|
|
{ .name = "open", .errmsg = true, },
|
|
|
{ .name = "poll", .errmsg = true, .timeout = true, },
|
|
|
{ .name = "ppoll", .errmsg = true, .timeout = true, },
|
|
@@ -475,6 +480,8 @@ signed_print:
|
|
|
fprintf(trace->output, ") = -1 %s %s", e, emsg);
|
|
|
} else if (ret == 0 && sc->fmt->timeout)
|
|
|
fprintf(trace->output, ") = 0 Timeout");
|
|
|
+ else if (sc->fmt->hexret)
|
|
|
+ fprintf(trace->output, ") = %#x", ret);
|
|
|
else
|
|
|
goto signed_print;
|
|
|
|