summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2007-07-31 17:09:05 +0000
committercognet <cognet@FreeBSD.org>2007-07-31 17:09:05 +0000
commit99641742c6c190c323b98343e5a497998807e7bf (patch)
tree42cd7c6664cca751be6820853729ae3c6662c268 /sys/arm
parentce4c62aa34c29ce4db2699aaf8a9883661fc0781 (diff)
downloadFreeBSD-src-99641742c6c190c323b98343e5a497998807e7bf.zip
FreeBSD-src-99641742c6c190c323b98343e5a497998807e7bf.tar.gz
MFppc:
revision 1.66 date: 2007/07/31 06:23:26; author: marcel; state: Exp; lines: +2 -2 Fix backward compatibility of the "old" (i.e. FreeBSD6) lseek syscall. It was broken when a new lseek syscall was introduced. The problem is that we need to swap the 32-bit td_retval values for the __syscall indirect syscall when the actual syscall has a 32-bit return value. Hence, we need to exclude lseek(2). And this means the "old" lseek(2) as well -- which we didn't. Based on a patch from: grehan@ Approved by: re (blanket)
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/trap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm/arm/trap.c b/sys/arm/arm/trap.c
index 22b2a02..6e6d43d 100644
--- a/sys/arm/arm/trap.c
+++ b/sys/arm/arm/trap.c
@@ -943,7 +943,7 @@ syscall(struct thread *td, trapframe_t *frame, u_int32_t insn)
case 0:
#ifdef __ARMEB__
if ((insn & 0x000fffff) == SYS___syscall &&
- (code != SYS_lseek)) {
+ code != SYS_freebsd6_lseek && code != SYS_lseek) {
/*
* 64-bit return, 32-bit syscall. Fixup byte order
*/
OpenPOWER on IntegriCloud