From 53dc2ac1c12b989023139eb05a7b852dcf54e1e3 Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Mon, 27 Mar 2017 09:40:29 +0000 Subject: [PATCH] www/node, www/node6: Build on armv6 Fix a configure error on arm when detecting dtrace. This fixes the configure error seen when building in poudriere on an amd64 host. While here, switch to builtin __sync_synchronize, ARM_DRAIN_WRITEBUF seems to only be implemented on pl310. Regenerate all patches with `make makepatch`. --- www/node/files/patch-deps_v8_src_arm_cpu-arm.cc | 2 +- ...ps_v8_src_base_atomicops__internals__arm__gcc.h | 25 ++-------------------- ...h-deps_v8_src_base_platform_platform-freebsd.cc | 2 +- .../files/patch-deps_v8_src_libsampler_sampler.cc | 2 +- www/node/files/patch-node.gyp | 15 +++++++++++++ www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc | 2 +- ...ps_v8_src_base_atomicops__internals__arm__gcc.h | 25 ++-------------------- ...h-deps_v8_src_base_platform_platform-freebsd.cc | 2 +- www/node6/files/patch-deps_v8_src_log-utils.h | 2 +- .../files/patch-deps_v8_src_profiler_sampler.cc | 2 +- www/node6/files/patch-node.gyp | 15 +++++++++++++ 11 files changed, 41 insertions(+), 53 deletions(-) create mode 100644 www/node/files/patch-node.gyp create mode 100644 www/node6/files/patch-node.gyp diff --git www/node/files/patch-deps_v8_src_arm_cpu-arm.cc www/node/files/patch-deps_v8_src_arm_cpu-arm.cc index 43810becdccd..a6810b9fdd82 100644 --- www/node/files/patch-deps_v8_src_arm_cpu-arm.cc +++ www/node/files/patch-deps_v8_src_arm_cpu-arm.cc @@ -1,4 +1,4 @@ ---- deps/v8/src/arm/cpu-arm.cc.orig 2016-10-19 22:02:03 UTC +--- deps/v8/src/arm/cpu-arm.cc.orig 2017-03-21 19:06:56 UTC +++ deps/v8/src/arm/cpu-arm.cc @@ -7,6 +7,9 @@ #ifdef __QNXNTO__ diff --git www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h index 6581e9fe4f21..67a38242e08b 100644 --- www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h +++ www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h @@ -1,27 +1,6 @@ ---- deps/v8/src/base/atomicops_internals_arm_gcc.h.orig 2016-10-19 22:02:03 UTC +--- deps/v8/src/base/atomicops_internals_arm_gcc.h.orig 2017-03-21 19:06:56 UTC +++ deps/v8/src/base/atomicops_internals_arm_gcc.h -@@ -13,6 +13,11 @@ - #include - #endif - -+#if defined(__FreeBSD__) -+#include -+#include -+#endif -+ - namespace v8 { - namespace base { - -@@ -48,6 +53,8 @@ inline void MemoryBarrier() { - // Note: This is a function call, which is also an implicit compiler barrier. - typedef void (*KernelMemoryBarrierFunc)(); - ((KernelMemoryBarrierFunc)0xffff0fa0)(); -+#elif defined(__FreeBSD__) -+ sysarch(ARM_DRAIN_WRITEBUF, (void *)0); - #elif defined(__QNXNTO__) - __cpu_membarrier(); - #else -@@ -64,8 +71,9 @@ inline void MemoryBarrier() { +@@ -64,8 +64,9 @@ inline void MemoryBarrier() { defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \ defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ diff --git www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc index c4d641e08256..737fb99e3390 100644 --- www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc +++ www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc @@ -1,4 +1,4 @@ ---- deps/v8/src/base/platform/platform-freebsd.cc.orig 2016-10-19 22:02:03 UTC +--- deps/v8/src/base/platform/platform-freebsd.cc.orig 2017-03-21 19:06:56 UTC +++ deps/v8/src/base/platform/platform-freebsd.cc @@ -35,6 +35,48 @@ namespace v8 { diff --git www/node/files/patch-deps_v8_src_libsampler_sampler.cc www/node/files/patch-deps_v8_src_libsampler_sampler.cc index 0611b83ae176..a6bf87d212f6 100644 --- www/node/files/patch-deps_v8_src_libsampler_sampler.cc +++ www/node/files/patch-deps_v8_src_libsampler_sampler.cc @@ -1,4 +1,4 @@ ---- deps/v8/src/libsampler/sampler.cc.orig 2016-11-08 18:53:14 UTC +--- deps/v8/src/libsampler/sampler.cc.orig 2017-03-21 19:06:57 UTC +++ deps/v8/src/libsampler/sampler.cc @@ -499,9 +499,9 @@ void SignalHandler::FillRegisterState(vo state->sp = reinterpret_cast(mcontext.mc_rsp); diff --git www/node/files/patch-node.gyp www/node/files/patch-node.gyp new file mode 100644 index 000000000000..647240889070 --- /dev/null +++ www/node/files/patch-node.gyp @@ -0,0 +1,15 @@ +--- node.gyp.orig 2017-03-27 08:05:00 UTC ++++ node.gyp +@@ -842,6 +842,12 @@ + '<(OBJ_DIR)/node/src/node_dtrace_ustack.o' + ], + 'conditions': [ ++ [ 'target_arch=="arm"', { ++ 'action': [ ++ 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc', ++ '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)', ++ ] ++ } ], + [ 'target_arch=="ia32"', { + 'action': [ + 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc', diff --git www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc index 43810becdccd..64dc50193683 100644 --- www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc +++ www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc @@ -1,4 +1,4 @@ ---- deps/v8/src/arm/cpu-arm.cc.orig 2016-10-19 22:02:03 UTC +--- deps/v8/src/arm/cpu-arm.cc.orig 2017-03-21 19:43:18 UTC +++ deps/v8/src/arm/cpu-arm.cc @@ -7,6 +7,9 @@ #ifdef __QNXNTO__ diff --git www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h index 6581e9fe4f21..3dd7be14729b 100644 --- www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h +++ www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h @@ -1,27 +1,6 @@ ---- deps/v8/src/base/atomicops_internals_arm_gcc.h.orig 2016-10-19 22:02:03 UTC +--- deps/v8/src/base/atomicops_internals_arm_gcc.h.orig 2017-03-21 19:43:18 UTC +++ deps/v8/src/base/atomicops_internals_arm_gcc.h -@@ -13,6 +13,11 @@ - #include - #endif - -+#if defined(__FreeBSD__) -+#include -+#include -+#endif -+ - namespace v8 { - namespace base { - -@@ -48,6 +53,8 @@ inline void MemoryBarrier() { - // Note: This is a function call, which is also an implicit compiler barrier. - typedef void (*KernelMemoryBarrierFunc)(); - ((KernelMemoryBarrierFunc)0xffff0fa0)(); -+#elif defined(__FreeBSD__) -+ sysarch(ARM_DRAIN_WRITEBUF, (void *)0); - #elif defined(__QNXNTO__) - __cpu_membarrier(); - #else -@@ -64,8 +71,9 @@ inline void MemoryBarrier() { +@@ -64,8 +64,9 @@ inline void MemoryBarrier() { defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \ defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ diff --git www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc index c4d641e08256..7bb6f8479abc 100644 --- www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc +++ www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc @@ -1,4 +1,4 @@ ---- deps/v8/src/base/platform/platform-freebsd.cc.orig 2016-10-19 22:02:03 UTC +--- deps/v8/src/base/platform/platform-freebsd.cc.orig 2017-03-21 19:43:18 UTC +++ deps/v8/src/base/platform/platform-freebsd.cc @@ -35,6 +35,48 @@ namespace v8 { diff --git www/node6/files/patch-deps_v8_src_log-utils.h www/node6/files/patch-deps_v8_src_log-utils.h index cd3bb039e772..3c8ab050ea61 100644 --- www/node6/files/patch-deps_v8_src_log-utils.h +++ www/node6/files/patch-deps_v8_src_log-utils.h @@ -1,4 +1,4 @@ ---- deps/v8/src/log-utils.h.orig 2016-10-19 22:02:04 UTC +--- deps/v8/src/log-utils.h.orig 2017-03-21 19:43:19 UTC +++ deps/v8/src/log-utils.h @@ -9,6 +9,9 @@ diff --git www/node6/files/patch-deps_v8_src_profiler_sampler.cc www/node6/files/patch-deps_v8_src_profiler_sampler.cc index 7c6fb3a37f63..042dc8e8eef4 100644 --- www/node6/files/patch-deps_v8_src_profiler_sampler.cc +++ www/node6/files/patch-deps_v8_src_profiler_sampler.cc @@ -1,4 +1,4 @@ ---- deps/v8/src/profiler/sampler.cc.orig 2016-10-19 22:02:04 UTC +--- deps/v8/src/profiler/sampler.cc.orig 2017-03-21 19:43:19 UTC +++ deps/v8/src/profiler/sampler.cc @@ -534,9 +534,9 @@ void SignalHandler::HandleProfilerSignal state.sp = reinterpret_cast
(mcontext.mc_rsp); diff --git www/node6/files/patch-node.gyp www/node6/files/patch-node.gyp new file mode 100644 index 000000000000..8b0e5c9412b6 --- /dev/null +++ www/node6/files/patch-node.gyp @@ -0,0 +1,15 @@ +--- node.gyp.orig 2017-03-27 10:00:28 UTC ++++ node.gyp +@@ -818,6 +818,12 @@ + '<(OBJ_DIR)/node/src/node_dtrace_ustack.o' + ], + 'conditions': [ ++ [ 'target_arch=="arm"', { ++ 'action': [ ++ 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc', ++ '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)', ++ ] ++ } ], + [ 'target_arch=="ia32"', { + 'action': [ + 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc', -- 2.12.1