Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73d4393d authored by Hans-Christian Egtvedt's avatar Hans-Christian Egtvedt Committed by Haavard Skinnemoen
Browse files

avr32: fix sys_sync_file_range() call convention



On AVR32, all parameters beyond the 5th are passed on the stack. System
calls don't use the stack -- they borrow a callee-saved register
instead. This means that syscalls that take 6 parameters must be called
through a stub that pushes the last parameter on the stack.

This patch adds a stub for sync_file_range syscall on AVR32
architecture.  Tested with uClibc snapshot.

Signed-off-by: default avatarHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: default avatarHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
parent e37925eb
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -109,3 +109,12 @@ __sys_epoll_pwait:
	rcall	sys_epoll_pwait
	sub	sp, -4
	popm	pc

	.global __sys_sync_file_range
	.type	__sys_sync_file_range,@function
__sys_sync_file_range:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_sync_file_range
	sub	sp, -4
	popm	pc
+1 −1
Original line number Diff line number Diff line
@@ -275,7 +275,7 @@ sys_call_table:
	.long	sys_set_robust_list
	.long	sys_get_robust_list	/* 260 */
	.long	__sys_splice
	.long	sys_sync_file_range
	.long	__sys_sync_file_range
	.long	sys_tee
	.long	sys_vmsplice
	.long	__sys_epoll_pwait	/* 265 */