7efad83d430f4d824f2aaa75edea5106f6ff8aae |
|
09-Sep-2014 |
Elliott Hughes <enh@google.com> |
Ensure __set_errno is still visible on LP32. The use of the .hidden directive to avoid going via the PLT for __set_errno had the side-effect of actually making __set_errno hidden (which is odd because assembler directives don't usually affect symbols defined in a different file --- you can't even create a weak reference to a symbol that's defined in a different file). This change switches the system call stubs over to a new always-hidden __set_errno_internal and has a visible __set_errno on LP32 just for binary compatibility with old NDK apps. Bug: 17423135 Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
|
851e68a2402fa414544e66650e09dfdaac813e51 |
|
20-Feb-2014 |
Elliott Hughes <enh@google.com> |
Unify our assembler macros. Our <machine/asm.h> files were modified from upstream, to the extent that no architecture was actually using the upstream ENTRY or END macros, assuming that architecture even had such a macro upstream. This patch moves everyone to the same macros, with just a few tweaks remaining in the <machine/asm.h> files, which no one should now use directly. I've removed most of the unused cruft from the <machine/asm.h> files, though there's still rather a lot in the mips/mips64 ones. Bug: 12229603 Change-Id: I2fff287dc571ac1087abe9070362fb9420d85d6d
|
766c7efe28fb066252eeb9b8e47e22970307c09e |
|
16-Dec-2013 |
Chris Dearman <chris.dearman@imgtec.com> |
Allocate additional space on stack for indirect syscall The caller is only required to allocate 16 bytes on the stack for a0-a3. syscall is handling up to 6 arguments so additional space is needed on the stack to avoid corrupting the callers frame. Change-Id: I054b31696decc3e17d9c70af18cd278b852235d1
|
effaa7824da1af4db5cef50c78079d4c4e1717a7 |
|
13-Nov-2013 |
Chris Dearman <chris.dearman@imgtec.com> |
[MIPS] Reimplement syscall to invoke the system call directly Some MIPS kernels do not correctly restart interrupted system calls that have been invoked using the indirect syscall (NR_syscall). The simplest workaround is to handle the indirection in userland and then call the required system call directly. Change-Id: I8385399621529db9a52b463c96925f6decaaca30
|