2005-06-10 Phil Blundell <pb@reciva.com>

Bug #957:
	* sysdeps/unix/sysv/linux/arm/mmap64.S: Handle offset correctly on
	big endian machines.  Reported by Sven Henkel <shenkel@gmail.com>.
This commit is contained in:
Phil Blundell 2005-06-10 18:10:47 +00:00
parent 849e84dde3
commit 51ae9dc83d
2 changed files with 13 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2005-06-10 Phil Blundell <pb@reciva.com>
Bug #957:
* sysdeps/unix/sysv/linux/arm/mmap64.S: Handle offset correctly on
big endian machines. Reported by Sven Henkel <shenkel@gmail.com>.
2005-05-09 Daniel Jacobowitz <dan@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>

View File

@ -27,10 +27,17 @@
.text
ENTRY (__mmap64)
#ifdef __NR_mmap2
#ifdef __ARMEB__
ldr ip, [sp, $8] @ offset low part
str r5, [sp, #-4]!
ldr r5, [sp, $8] @ offset high part
str r4, [sp, #-4]!
#else
ldr ip, [sp, $4] @ offset low part
str r5, [sp, #-4]!
ldr r5, [sp, $12] @ offset high part
str r4, [sp, #-4]!
#endif
movs r4, ip, lsl $20 @ check that offset is page-aligned
mov ip, ip, lsr $12
moveqs r4, r5, lsr $12 @ check for overflow