Clean up the 32-bit kernel support, fix LP64 fcntl declaration.

In practice, thanks to all the registers the stubs don't actually change,
but it's confusing to have an incorrect declaration.

I suspect that fcntl remains broken for aarch64; it happens to work for
x86_64 because the first vararg argument gets placed in the right register
anyway, but I have no reason to believe that's true for aarch64.

This patch adds a unit test, though, so we'll be able to tell when we get
as far as running the unit tests.

Change-Id: I58dd0054fe99d7d51d04c22781d8965dff1afbf3
This commit is contained in:
Elliott Hughes
2013-11-06 16:20:54 -08:00
parent 7115c80231
commit 062092543f
19 changed files with 136 additions and 336 deletions

View File

@@ -1,16 +0,0 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <asm/unistd.h>
#include <linux/err.h>
#include <machine/asm.h>
ENTRY(__fcntl)
mov ip, r7
ldr r7, =__NR_fcntl
swi #0
mov r7, ip
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno
END(__fcntl)