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]); |