| Index: src/platform-linux.cc
|
| diff --git a/src/platform-linux.cc b/src/platform-linux.cc
|
| index 9028fd0238a9d5b1cae6672c7cb10cf77c05046a..9e4dd8b97f31d98d0377eef46b593de7f37edf80 100644
|
| --- a/src/platform-linux.cc
|
| +++ b/src/platform-linux.cc
|
| @@ -1025,7 +1025,8 @@ static void ProfilerSignalHandler(int signal, siginfo_t* info, void* context) {
|
| sample->fp = reinterpret_cast<Address>(mcontext.gregs[REG_RBP]);
|
| #elif V8_HOST_ARCH_ARM
|
| // An undefined macro evaluates to 0, so this applies to Android's Bionic also.
|
| -#if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
|
| +#if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3) && \
|
| + !defined(__UCLIBC__))
|
| sample->pc = reinterpret_cast<Address>(mcontext.gregs[R15]);
|
| sample->sp = reinterpret_cast<Address>(mcontext.gregs[R13]);
|
| sample->fp = reinterpret_cast<Address>(mcontext.gregs[R11]);
|
| @@ -1033,7 +1034,8 @@ static void ProfilerSignalHandler(int signal, siginfo_t* info, void* context) {
|
| sample->pc = reinterpret_cast<Address>(mcontext.arm_pc);
|
| sample->sp = reinterpret_cast<Address>(mcontext.arm_sp);
|
| sample->fp = reinterpret_cast<Address>(mcontext.arm_fp);
|
| -#endif // (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
|
| +#endif // (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3) &&
|
| + // !defined(__UCLIBC__))
|
| #elif V8_HOST_ARCH_MIPS
|
| sample->pc = reinterpret_cast<Address>(mcontext.pc);
|
| sample->sp = reinterpret_cast<Address>(mcontext.gregs[29]);
|
|
|