Red Hat Bugzilla – Bug 146093
incorrect mmap flags with 32-bit binary on x86_64
Last modified: 2007-11-30 17:07:06 EST
On x86_64, with a 64-bit testcase (last mmap call):
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2a9566e000
On x86_64, with a 32-bit testcase (last mmap call):
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, 0x3 /* MAP_??? */, 34,
0xffffffff) = 0x40017000
0x3 would mean that the flags are MAP_SHARED|MAP_PRIVATE, and the file
descriptor is obviously wrong.
I have fixed this upstream. In fact, the bug was giving bad values
for the third and later arguments to all 32-bit syscalls on x86_64.
That bug was in the original x86_64 support for strace contributed
upstream by others.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.