43 lines
1.5 KiB
Diff
43 lines
1.5 KiB
Diff
--- configure.py
|
|
+++ configure.py
|
|
@@ -848,7 +848,7 @@ def host_arch_cc():
|
|
'__MIPSEL__' : 'mipsel',
|
|
'__mips__' : 'mips',
|
|
'__PPC64__' : 'ppc64',
|
|
- '__PPC__' : 'ppc64',
|
|
+ '__PPC__' : 'ppc',
|
|
'__x86_64__' : 'x64',
|
|
'__s390__' : 's390',
|
|
'__s390x__' : 's390x',
|
|
--- node.gyp
|
|
+++ node.gyp
|
|
@@ -479,6 +479,11 @@
|
|
'msvs_disabled_warnings!': [4244],
|
|
|
|
'conditions': [
|
|
+ [ 'host_arch=="mips" or host_arch=="mipsel" or host_arch=="ppc"', {
|
|
+ 'link_settings': {
|
|
+ 'libraries': [ '-latomic' ],
|
|
+ },
|
|
+ }],
|
|
[ 'node_code_cache_path!=""', {
|
|
'sources': [ '<(node_code_cache_path)' ]
|
|
}, {
|
|
--- deps/v8/src/libsampler/sampler.cc
|
|
+++ deps/v8/src/libsampler/sampler.cc
|
|
@@ -418,9 +418,15 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) {
|
|
reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]);
|
|
#else
|
|
// Some C libraries, notably Musl, define the regs member as a void pointer
|
|
+ #if !V8_TARGET_ARCH_32_BIT
|
|
state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[32]);
|
|
state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[1]);
|
|
state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[31]);
|
|
+ #else
|
|
+ state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[32]);
|
|
+ state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[1]);
|
|
+ state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[31]);
|
|
+ #endif
|
|
#endif
|
|
#elif V8_HOST_ARCH_S390
|
|
#if V8_TARGET_ARCH_32_BIT
|