platform_bionic/libc/arch-arm64/bionic
Elliott Hughes 94072fbb4e Switch to inline assembler in crtbegin.
Using __builtin_frame_address was clever, but didn't work for arm64 (for
reasons which were never investigated) and the ChromeOS folks claim it
causes trouble for x86 with ARC++ (though without a reproduceable test case).

Naked functions turn out to be quite unevenly supported: some architectures
do the right thing, others don't; some architectures warn, others don't (and
the warnings don't always match the platforms that _actually_ have problems).

Inline assembler also removes the guessing games: everyone knows what the
couple of instructions _ought_ to be, and now we don't have to reason about
what the compiler will actually do (yet still keep the majority of the code
in C).

Bug: N/A
Test: builds, boots
Change-Id: I14207ef50ca46b6eca273c3cb7509c311146a3ca
2017-05-23 14:47:16 -07:00
..
__bionic_clone.S Use ENTRY_PRIVATE in __bionic_clone assembler. 2016-10-26 17:01:58 -07:00
__set_tls.c Hide __set_tls. 2014-05-20 20:32:28 -07:00
_exit_with_stack_teardown.S Hide _exit_with_stack_teardown. 2014-05-16 16:17:44 -07:00
setjmp.S Add a checksum to jmp_buf on AArch64. 2016-03-03 12:45:08 -08:00
syscall.S Ensure __set_errno is still visible on LP32. 2014-09-08 16:46:50 -07:00
vfork.S Invalidate cached pid in vfork. 2015-08-07 19:44:12 -07:00