diff options
author | Elliott Hughes <enh@google.com> | 2017-05-23 11:03:58 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2017-05-23 14:47:16 -0700 |
commit | 94072fbb4e42a195cd6cec97f9af15ff45cb84ee (patch) | |
tree | fe577acf1afd7e7be2372bf419537177da508011 /libc/kernel/tools/clean_header.py | |
parent | 4767bc4a6cebc2ad4c61cccdf92290e17227a792 (diff) |
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
Diffstat (limited to 'libc/kernel/tools/clean_header.py')
0 files changed, 0 insertions, 0 deletions