51f5d83237ce104655f1bc05576ed8ebf64e97cc |
|
10-Dec-2014 |
Elliott Hughes <enh@google.com> |
Fix arm64 clone stack handling. Make sure we adjust the stack pointer so a signal can't overwrite data. Bug: 15195265 Change-Id: I5ab9469a82cb214c32f40a713268a1ab74a4c6fa
|
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
|
602b4e482ce7bfa768a4c84baffc3051eca52346 |
|
07-Jun-2014 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Remove Frame Record from ARM64 syscalls This patch removes the frame record created on svc calls. Change-Id: I67cf926ba59540e824fb9749d30538e332df7c1e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
|
ebc8cd117a562f387c52ed4e1aeba0fb21f33194 |
|
07-Jun-2014 |
Elliott Hughes <enh@google.com> |
Rename __bionic_clone_entry to __start_thread. This seems a bit less obscure. Change-Id: I7dc528c253b73c861694f67556ad8f919bf92136
|
8df0fe0c74b7af819f36e37ec9b924fdd22c8ba4 |
|
24-May-2014 |
Ben Cheng <bccheng@google.com> |
Clear link register in __bionic_clone. Since __bionic_clone uses tail-call to invoke __bionic_clone_entry, at runtime the unwinder will reach the stack of the clone() function, which belongs to the parent thread, if the link register is not cleared. BUG: 14270816 Change-Id: Ia3711c87f8b619debe73748c28b9fb8691ea698e
|
df22a121b2c75021585e4eea49fd3af92d579dd0 |
|
22-May-2014 |
Christopher Ferris <cferris@google.com> |
Add cfi directives for arm64 assembler. Fix syscall generator to add cfi directives and add the directives for all arm64 assembler. Bug: 15138290 Change-Id: I7f0e4a16c141ac624e5276917a3a1ed45778e057
|
f93f50d7eacc354361e1d5f516c0610709d40abf |
|
22-May-2014 |
Elliott Hughes <enh@google.com> |
Remove an unnecessary instruction from arm64 __bionic_clone. Change-Id: Ib0dd5079d10b3634901d561932259653945176ee
|
0d236aa3f1e6d31b0c729448ae9d3ed1cad23fb4 |
|
09-May-2014 |
Elliott Hughes <enh@google.com> |
Align the child stack in clone(2). Also let clone(2) set the TLS for x86. Also ensure we initialize the TLS before we clone(2) for all architectures. Change-Id: Ie5fa4466e1c9ee116a281dfedef574c5ba60c0b5
|
fff3c0fdcf2a6f4301a238628fbf8182780a1612 |
|
09-May-2014 |
Elliott Hughes <enh@google.com> |
Align arm64 stacks to 16 bytes in __bionic_clone. Also ensure that arm64/x86-64/x86 assembler uses local labels. (There are are so many non-local labels in arm that fixing them seems out of scope.) Also synchronize the __bionic_clone.S comments. Change-Id: I03b4f84780d996b54d6637a074638196bbb01cd4
|
954cf0d4e2669f91194b45f484152e47efa4f6c7 |
|
09-May-2014 |
Elliott Hughes <enh@google.com> |
Hide the __bionic_clone and __bionic_clone_entry implementation details. clone(2) is the public symbol. Also switch a test from __bionic_clone to clone; testing public API means the test now works on glibc too. Change-Id: If59def26a00c3afadb8a6cf9442094c35a59ffde
|
d1973ca51325393f304e82a4d79874f33e54ac16 |
|
22-Jan-2014 |
Colin Cross <ccross@android.com> |
bionic: rename aarch64 target to arm64 Rename aarch64 build targets to arm64. The gcc toolchain is still aarch64. Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
|