beb879662470fb01f8062c173d9e6fc1b76988ee |
|
27-Oct-2016 |
Elliott Hughes <enh@google.com> |
Use ENTRY_PRIVATE in __bionic_clone assembler. Bug: N/A Test: bionic tests Change-Id: Ic651d628be009487a36d0b2e5bcf900b981b1ef9
|
2fc14a97e0159f6126450991cc9c97376b66eb9b |
|
08-Sep-2016 |
Elliott Hughes <enh@google.com> |
Don't use an anonymous label in arm's __bionic_clone. All the other architectures name this label. Copy them. (Following discussion of d30bc9e74b8ff3afceac973d334023564e64dbd2.) Bug: https://llvm.org/bugs/show_bug.cgi?id=30308 Change-Id: I4f20163f569041180d87c79ce6ed856b70704271
|
d30bc9e74b8ff3afceac973d334023564e64dbd2 |
|
06-Sep-2016 |
MinSeong Kim <minseong.kim@linaro.org> |
Fix "Unknown token error" when upstream clang is used. Simple fix for the above error caused by the location of a label "1:" Change-Id: I9b1c816871e95f9bcf8135a5e0cc88de65771315 Signed-off-by: MinSeong Kim <minseong.kim@linaro.org>
|
dd57029ed1dfc9cd3116d3797c40d92d5310594e |
|
12-May-2015 |
Elliott Hughes <enh@google.com> |
Simplify three copyright headers. There's no reason to have multiple years in our own copyright headers, and given the stupidity of our NOTICE file generation, it just creates more junk. Change-Id: I065a3811c2e2584e3b649a18ad9460286bc72b92 (cherry picked from commit c69ace87ec110a91005bdf19dbafeb355f399c06)
|
c69ace87ec110a91005bdf19dbafeb355f399c06 |
|
12-May-2015 |
Elliott Hughes <enh@google.com> |
Simplify three copyright headers. There's no reason to have multiple years in our own copyright headers, and given the stupidity of our NOTICE file generation, it just creates more junk. Change-Id: I065a3811c2e2584e3b649a18ad9460286bc72b92
|
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
|
c3d1728583907e23d1a4493e02835622514d1dd0 |
|
10-Dec-2014 |
Jiangli Yuan <a6808c@motorola.com> |
Use the stmdb instead of str to save the fn/arg Directly save data into stack without properly adjustment of stack point is dangous. For example, if a signal comes, kernel will put sigframe into userspace's stack, which will overwrite the saved data if sp is not adjusted properly. Bug: 15195265 Change-Id: Iea0cadfd3b94d50cf40252ad52fe5950811b9192 Signed-off-by: Jiangli Yuan <a6808c@motorola.com>
|
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
|
40bc7cd4ed9fb848a7b3d934f69669f64ceed707 |
|
18-Jun-2014 |
Christopher Ferris <cferris@google.com> |
DO NOT MERGE Re-add .save directive for arm assembler code. Restored the .save directives so that the libcorkscrew unwinder continues to function. Bug: 15701117 Change-Id: I853695a299548b84c78ae8147b9757dbeacdb1ec
|
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
|
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
|
ed45970ac5a182e512669cfa5c15b9f4fa783ad7 |
|
03-Dec-2013 |
Christopher Ferris <cferris@google.com> |
Add cfi directives to all arm assembly. Since the ENTRY/END macros now have .cfi_startproc/.cfi_endproc, most of the custom arm assembly has no unwind information. Adding the proper cfi directives for these and removing the arm directives. Update the gensyscalls.py script to add these cfi directives for the generated assembly. Also fix the references to non-uapi headers to the proper uapi header. In addition, remove the kill.S, tkill.S, tgkill.S for arm since they are not needed at all. The unwinder (libunwind) is able to properly unwind using the normal abort. After this change, I can unwind through the system calls again. Bug: 11559337 Bug: 11825869 Bug: 11321283 Change-Id: I18b48089ef2d000a67913ce6febc6544bbe934a3
|
36d6188f8cd8b948fb797f11d9620d63d0c2215a |
|
19-Nov-2013 |
Elliott Hughes <enh@google.com> |
Clean up forking and cloning. The kernel now maintains the pthread_internal_t::tid field for us, and __clone was only used in one place so let's inline it so we don't have to leave such a dangerous function lying around. Also rename files to match their content and remove some useless #includes. Change-Id: I24299fb4a940e394de75f864ee36fdabbd9438f9
|