mmap()->sys_mmap2: do unsigned shift of offset
mmap()->sys_mmap2: do unsigned shift of offset

Fix the implementation of mmap based on the mmap2 system call, to
construct pgoffset from offset with an unsigned shift rather than a
signed (off_t) shift. The mmap2 test in the testsuite catches this case
by mmap'ing with a large offset (with the sign bit set). The signed
shift repeats the sign bit making the page shift way out of range. This
is already fixed similarly in mmap64().

Signed-off-by: James Hogan <547fa85bb3888a0222eed8ec39e36708605c6d53@imgtec.com>
Signed-off-by: Mike Frysinger <8f3f75c74bd5184edcfa6534cab3c13a00a2f794@gentoo.org>

groundwater/uClibc,foss-for-synopsys-dwc-arc-processors/uClibc,wbx-github/uclibc-ng,skristiansson/uClibc-or1k,mephi42/uClibc,waweber/uclibc-clang,majek/uclibc-vx32,czankel/xtensa-uclibc,brgl/uclibc-ng,ffainelli/uClibc,hwoarang/uClibc,hwoarang/uClibc,foss-xtensa/uClibc,kraj/uClibc,skristiansson/uClibc-or1k,majek/uclibc-vx32,waweber/uclibc-clang,ffainelli/uClibc,hjl-tools/uClibc,foss-xtensa/uClibc,skristiansson/uClibc-or1k,brgl/uclibc-ng,foss-xtensa/uClibc,foss-for-synopsys-dwc-arc-processors/uClibc,ddcc/klee-uclibc-0.9.33.2,kraj/uclibc-ng,waweber/uclibc-clang,kraj/uClibc,ddcc/klee-uclibc-0.9.33.2,czankel/xtensa-uclibc,ffainelli/uClibc,hjl-tools/uClibc,kraj/uclibc-ng,hwoarang/uClibc,czankel/xtensa-uclibc,groundwater/uClibc,groundwater/uClibc,groundwater/uClibc,ffainelli/uClibc,mephi42/uClibc,hjl-tools/uClibc,hjl-tools/uClibc,majek/uclibc-vx32,brgl/uclibc-ng,ddcc/klee-uclibc-0.9.33.2,foss-for-synopsys-dwc-arc-processors/uClibc,wbx-github/uclibc-ng,hwoarang/uClibc,foss-xtensa/uClibc,groundwater/uClibc,kraj/uClibc,kraj/uclibc-ng,foss-for-synopsys-dwc-arc-processors/uClibc,kraj/uclibc-ng,wbx-github/uclibc-ng,wbx-github/uclibc-ng,waweber/uclibc-clang,ffainelli/uClibc,kraj/uClibc,majek/uclibc-vx32,czankel/xtensa-uclibc,mephi42/uClibc,hjl-tools/uClibc,skristiansson/uClibc-or1k,brgl/uclibc-ng,ddcc/klee-uclibc-0.9.33.2,mephi42/uClibc