f5a9123d9f365e3a72ac9f2a3921f439541a87e8 |
|
28-Apr-2016 |
Christopher Ferris <cferris@google.com> |
Add unwind information for r7 in arm syscalls. It turns out that clang can emit code where the sp is saved in the r7 register on arm. Unfortunately, a lot of our syscalls overwrite that value while the syscall is executing, so unwinding through that syscall fails. Update the syscall generation code to add unwinding information for these uses. Bug: 28411713 (cherry picked from commit 6e45d37decbbaf78ed4685213aebb1c9b5ccf8c2) Change-Id: Ib775effc44c4113735fe9032b0602b9d63e3e390
|
6e45d37decbbaf78ed4685213aebb1c9b5ccf8c2 |
|
28-Apr-2016 |
Christopher Ferris <cferris@google.com> |
Add unwind information for r7 in arm syscalls. It turns out that clang can emit code where the sp is saved in the r7 register on arm. Unfortunately, a lot of our syscalls overwrite that value while the syscall is executing, so unwinding through that syscall fails. Update the syscall generation code to add unwinding information for these uses. Bug: 28411713 Change-Id: Id51a5d43c058631bb50834527f93fa299bbcf759
|
011e111d299284b65af07add523a9dccac356244 |
|
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. (cherry-pick of 7efad83d430f4d824f2aaa75edea5106f6ff8aae.) Bug: 17423135 Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
|
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
|
e35fd48a832cddbedcf84773fd1922f735ae7829 |
|
09-Aug-2014 |
Dan Albert <danalbert@google.com> |
Make __set_errno hidden in asm. This fixes the build after the -Bsymbolic change. Bug: 16853291 Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2 (cherry picked from commit bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7)
|
bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7 |
|
09-Aug-2014 |
Dan Albert <danalbert@google.com> |
Make __set_errno hidden in asm. This fixes the build after the -Bsymbolic change. Bug: 16853291 Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2
|
ed74484dcbc2e156a6e5fa861a62425b12e55128 |
|
07-Nov-2013 |
Elliott Hughes <enh@google.com> |
Stop using the non-uapi <linux/err.h> header file. We only need it for MAX_ERRNO, and it's time we had somewhere to put the little assembler utility macros we've been putting off writing. Change-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83
|
6b53c2349a5a3fc70a475de6a66131b615e88e48 |
|
25-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix the exit syscall stub's name. I've left the exit_group syscall as _exit because otherwise we'd have to convince the compiler that our _exit (which just calls __exit_group) is actually "noreturn", and it seems like that would be less clean than just cutting out the middleman. We'll just have to trust ourselves not to add anything to SYSCALLS.TXT that ought to be private but that only has a single leading underscore. Hopefully we can manage that. Change-Id: Iac47faea9f516186e1774381846c54cafabc4354
|