b31bc7d438
Based off of patches posted by (and Signed-off-by:) Jonathan Liu <net147@gmail.com> [Peter: fix Config.in whitespace] Signed-off-by: Daniel Price <daniel.price@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
30 lines
1.5 KiB
Diff
30 lines
1.5 KiB
Diff
Fix compilation for ARM/uClibc
|
|
Patch from Remi Duraffort <remi.duraffort@st.com>, taken from
|
|
https://code.google.com/p/v8/source/detail?r=12094
|
|
|
|
Signed-off-by: Daniel Price <daniel.price@gmail.com>
|
|
|
|
--- a/deps/v8/src/platform-linux.cc
|
|
+++ b/deps/v8/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]);
|
|
|