diff options
author | Pirama Arumuga Nainar <pirama@google.com> | 2021-02-12 15:09:49 -0800 |
---|---|---|
committer | Pirama Arumuga Nainar <pirama@google.com> | 2021-02-18 09:52:59 -0800 |
commit | 7b89be78f44dc1be48697f2c055fbf3a9534f856 (patch) | |
tree | f7315a1c4366fc37719697eac4485b1bc8a9f877 /libc/malloc_hooks/tests/malloc_hooks_tests.cpp | |
parent | 332065d57e734b65f56474d136d22d767e36cbcd (diff) |
Move __libc_int0x80 to an assembly file
Bug: http://b/157081822
If __libc_int0x80 is in a C/C++ file, Clang's coverage instrumentation
adds instructions to count the number of times it gets executed [1].
With coverage instrumentation, __libc_sysinfo, used on 32-bit x86, is
initialized to the wrong value, causing dl.preinit_system_calls to fail.
Moving the function to an assembly file leaves __libc_sysinfo properly
initialized.
[1] We could change clang so it doesn't instrument functions marked
__attribute__((naked)) as a followup.
Test: `m CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS=bionic` and run
bionic-unit-tests
Change-Id: I73558253512392d345de8d5b66d38bb14b308fdf
Diffstat (limited to 'libc/malloc_hooks/tests/malloc_hooks_tests.cpp')
0 files changed, 0 insertions, 0 deletions