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

@@ -48,8 +48,15 @@ extern "C" pid_t __wait4(pid_t pid, int* status, int options, struct rusage* rus
return wait4(pid, status, options, rusage);
}
// TODO: does anything still need this?
extern "C" int __open() {
abort();
}
// TODO: does anything still need this?
extern "C" void** __get_tls() {
#include "private/__get_tls.h"
return __get_tls();
}
#endif