From 354bedc9aba9a79936b2ace8e39ab07352ad2d73 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 23 Jan 2020 14:12:40 -0800 Subject: nodejs: Fix build on big-endian targets Fixes ../deps/v8/src/runtime/runtime-utils.h:129:11: error: base operand of '->' has non-pointer type 'v8::internal::Object' 129 | return y->ptr() | (static_cast(x->ptr()) << 32); | ^~ Signed-off-by: Khem Raj Cc: Martin Jansa Cc: Guillaume Burel --- .../recipes-devtools/nodejs/nodejs/big-endian.patch | 18 ++++++++++++++++++ meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb | 1 + 2 files changed, 19 insertions(+) create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch b/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch new file mode 100644 index 0000000000..529381842f --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch @@ -0,0 +1,18 @@ + +https://github.com/v8/v8/commit/878ccb33bd3cf0e6dc018ff8d15843f585ac07be + +did some automated cleanups but it missed big-endian code. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/deps/v8/src/runtime/runtime-utils.h ++++ b/deps/v8/src/runtime/runtime-utils.h +@@ -126,7 +126,7 @@ static inline ObjectPair MakePair(Object + #if defined(V8_TARGET_LITTLE_ENDIAN) + return x.ptr() | (static_cast(y.ptr()) << 32); + #elif defined(V8_TARGET_BIG_ENDIAN) +- return y->ptr() | (static_cast(x->ptr()) << 32); ++ return y.ptr() | (static_cast(x.ptr()) << 32); + #else + #error Unknown endianness + #endif diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb b/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb index e9ec500e51..6eb52c209a 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb @@ -19,6 +19,7 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ file://0003-Install-both-binaries-and-use-libdir.patch \ file://0004-v8-don-t-override-ARM-CFLAGS.patch \ + file://big-endian.patch \ " SRC_URI_append_class-target = " \ file://0002-Using-native-binaries.patch \ -- cgit 1.2.3-korg