OSDN Git Service

mmap64: always use unsigned 64bit offsets
authorMike Frysinger <vapier@gentoo.org>
Tue, 10 Apr 2012 04:27:04 +0000 (00:27 -0400)
committerMike Frysinger <vapier@gentoo.org>
Tue, 10 Apr 2012 16:10:01 +0000 (12:10 -0400)
commit3d744d6d363329d064fb5ad461054e3e9eff1722
treeb0770d444713bb47e70fae7cbe613486c9a8fce8
parent5707bfc85c4da593ae5df6fb243ddb5639957def
mmap64: always use unsigned 64bit offsets

The current code will sometimes cast the offset to an unsigned long.
On 32bit systems, that doesn't make much sense since we always know
that the off64_t type is 64bits.  So drop the ifdef logic, cast it
to an unsigned 64bit value, and then do the shift.

If the system is 32bits, and the address is still too large, then
there's really nothing we could do about it anyways, so the extra
ifdef logic wasn't helping.

URL: https://bugs.busybox.net/show_bug.cgi?id=3853
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
libc/sysdeps/linux/common/mmap64.c