7b89be78f4
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 |
||
---|---|---|
.. | ||
atom/string | ||
bionic | ||
generic/string | ||
kabylake/string | ||
silvermont/string | ||
dynamic_function_dispatch.cpp | ||
static_function_dispatch.S |