nodejs / nodejs/build

Compilation issues with RHEL8-arm64 and recent V8

Open
#3,595 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

platform:arm
Dominant language
Jinja
Stars
541
Forks
185
Avg merge
22h 15m
Merged PRs (30d)
4

Description

V8 11.9, on test-equinix-rhel8_container-arm64-1 (GCC 10.3.1): https://ci.nodejs.org/job/node-test-commit-arm/50511/nodes=rhel8-arm64/console

12:31:12   ccache g++ -o /home/iojs/build/workspace/node-test-commit-arm/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/heap/base/memory-tagging.o ../deps/v8/src/heap/base/memory-tagging.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_ARM64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.11"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/v8 -I../deps/v8/include -I/home/iojs/build/workspace/node-test-commit-arm/out/Release/obj/gen/inspector-generated-output-root -I../deps/v8/third_party/inspector_protocol -I/home/iojs/build/workspace/node-test-commit-arm/out/Release/obj/gen -I/home/iojs/build/workspace/node-test-commit-arm/out/Release/obj/gen/generate-bytecode-output-root -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/v8/third_party/zlib -I../deps/v8/third_party/zlib/google  -msign-return-address=all -pthread -Wno-unused-parameter -Wno-return-type -Wno-invalid-offsetof -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++17 -MMD -MF /home/iojs/build/workspace/node-test-commit-arm/out/Release/.deps//home/iojs/build/workspace/node-test-commit-arm/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/heap/base/memory-tagging.o.d.raw   -c
12:31:13 g++: warning: switch '-msign-return-address=all' is no longer supported
12:31:13 /tmp/ccxx9WKm.s: Assembler messages:
12:31:13 /tmp/ccxx9WKm.s:32: Error: unknown architectural extension `memtag'
12:31:13 /tmp/ccxx9WKm.s:32: Error: unknown or missing system register name at operand 1 -- `msr tco,#1'
12:31:13 /tmp/ccxx9WKm.s:81: Error: unknown architectural extension `memtag'
12:31:13 /tmp/ccxx9WKm.s:81: Error: unknown or missing system register name at operand 2 -- `mrs x1,tco'
12:31:13 /tmp/ccxx9WKm.s:89: Error: unknown architectural extension `memtag'
12:31:13 /tmp/ccxx9WKm.s:89: Error: unknown or missing system register name at operand 1 -- `msr tco,#0'
12:31:13 make[2]: *** [tools/v8_gypfiles/v8_base_without_compiler.target.mk:1096: /home/iojs/build/workspace/node-test-commit-arm/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/heap/base/memory-tagging.o] Error 1

V8 canary, on release-osuosl-rhel8-arm64-1 (GCC 10.3.1): https://ci-release.nodejs.org/job/iojs+release/9842/nodes=rhel8-arm64-release/console

11:08:41   ccache g++ -o /home/iojs/build/ws/out/Release/obj.target/v8_compiler/deps/v8/src/compiler/access-builder.o ../deps/v8/src/compiler/access-builder.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_ARM64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.6"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DNDEBUG' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_SPARKPLUG' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/v8 -I../deps/v8/include -I/home/iojs/build/ws/out/Release/obj/gen/generate-bytecode-output-root -I/home/iojs/build/ws/out/Release/obj/gen -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/v8/third_party/abseil-cpp  -msign-return-address=all -pthread -Wno-unused-parameter -Wno-return-type -Wno-invalid-offsetof -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++17 -MMD -MF /home/iojs/build/ws/out/Release/.deps//home/iojs/build/ws/out/Release/obj.target/v8_compiler/deps/v8/src/compiler/access-builder.o.d.raw   -c
11:09:14 g++: warning: switch ‘-msign-return-address=all’ is no longer supported
11:09:14 In file included from ../deps/v8/src/codegen/arm64/utils-arm64.h:11,
11:09:14                  from ../deps/v8/src/codegen/arm64/register-arm64.h:8,
11:09:14                  from ../deps/v8/src/codegen/register-arch.h:15,
11:09:14                  from ../deps/v8/src/codegen/register.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/frame-translation-builder.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/translated-state.h:11,
11:09:14                  from ../deps/v8/src/deoptimizer/deoptimized-frame-info.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-frames.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-evaluate.h:12,
11:09:14                  from ../deps/v8/src/init/setup-isolate-full.cc:6:
11:09:14 ../deps/v8/src/utils/utils.h: In instantiation of ‘bool v8::internal::SimdMemEqual(const Char*, const Char*, size_t) [with Char = unsigned char; size_t = long unsigned int]’:
11:09:14 ../deps/v8/src/utils/utils.h:400:26:   required from ‘bool v8::internal::CompareCharsEqualUnsigned(const lchar*, const rchar*, size_t) [with lchar = unsigned char; rchar = unsigned char; size_t = long unsigned int]’
11:09:14 ../deps/v8/src/utils/utils.h:418:35:   required from ‘bool v8::internal::CompareCharsEqual(const lchar*, const rchar*, size_t) [with lchar = unsigned char; rchar = char; size_t = long unsigned int]’
11:09:14 ../deps/v8/src/objects/string-inl.h:555:33:   required from ‘bool v8::internal::String::IsEqualToImpl(v8::base::Vector<const Char>, v8::internal::PtrComprCageBase, const v8::internal::SharedStringAccessGuardIfNeeded&) const [with v8::internal::String::EqualityType kEqType = v8::internal::String::EqualityType::kWholeString; Char = char]’
11:09:14 ../deps/v8/src/objects/string-inl.h:518:32:   required from ‘bool v8::internal::String::IsEqualTo(v8::base::Vector<const Char>) const [with v8::internal::String::EqualityType kEqType = v8::internal::String::EqualityType::kWholeString; Char = char]’
11:09:14 ../deps/v8/src/objects/string-inl.h:640:23:   required from here
11:09:14 ../deps/v8/src/utils/utils.h:368:47: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
11:09:14   368 |       return !static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(ored, ored), 0));
11:09:14       |                                 ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
11:09:14 ../deps/v8/src/utils/utils.h:368:57: error: cannot convert ‘uint8x16_t’ to ‘uint64x2_t’
11:09:14   368 |       return !static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(ored, ored), 0));
11:09:14       |                                                ~~~~~~~~~^~~~~~~~~~~~
11:09:14       |                                                         |
11:09:14       |                                                         uint8x16_t
11:09:14 In file included from ../deps/v8/src/utils/utils.h:35,
11:09:14                  from ../deps/v8/src/codegen/arm64/utils-arm64.h:11,
11:09:14                  from ../deps/v8/src/codegen/arm64/register-arm64.h:8,
11:09:14                  from ../deps/v8/src/codegen/register-arch.h:15,
11:09:14                  from ../deps/v8/src/codegen/register.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/frame-translation-builder.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/translated-state.h:11,
11:09:14                  from ../deps/v8/src/deoptimizer/deoptimized-frame-info.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-frames.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-evaluate.h:12,
11:09:14                  from ../deps/v8/src/init/setup-isolate-full.cc:6:
11:09:14 /opt/rh/gcc-toolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10/include/arm_neon.h:3353:28: note:   initializing argument 1 of ‘uint64_t vgetq_lane_u64(uint64x2_t, int)’
11:09:14  3353 | vgetq_lane_u64 (uint64x2_t __a, const int __b)
11:09:14       |                 ~~~~~~~~~~~^~~
11:09:14 In file included from ../deps/v8/src/codegen/arm64/utils-arm64.h:11,
11:09:14                  from ../deps/v8/src/codegen/arm64/register-arm64.h:8,
11:09:14                  from ../deps/v8/src/codegen/register-arch.h:15,
11:09:14                  from ../deps/v8/src/codegen/register.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/frame-translation-builder.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/translated-state.h:11,
11:09:14                  from ../deps/v8/src/deoptimizer/deoptimized-frame-info.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-frames.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-evaluate.h:12,
11:09:14                  from ../deps/v8/src/init/setup-isolate-full.cc:6:
11:09:14 ../deps/v8/src/utils/utils.h:375:53: error: cannot convert ‘uint8x16_t’ to ‘uint64x2_t’
11:09:14   375 |       if (static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(xored, xored), 0)))
11:09:14       |                                            ~~~~~~~~~^~~~~~~~~~~~~~
11:09:14       |                                                     |
11:09:14       |                                                     uint8x16_t
11:09:14 In file included from ../deps/v8/src/utils/utils.h:35,
11:09:14                  from ../deps/v8/src/codegen/arm64/utils-arm64.h:11,
11:09:14                  from ../deps/v8/src/codegen/arm64/register-arm64.h:8,
11:09:14                  from ../deps/v8/src/codegen/register-arch.h:15,
11:09:14                  from ../deps/v8/src/codegen/register.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/frame-translation-builder.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/translated-state.h:11,
11:09:14                  from ../deps/v8/src/deoptimizer/deoptimized-frame-info.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-frames.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-evaluate.h:12,
11:09:14                  from ../deps/v8/src/init/setup-isolate-full.cc:6:
11:09:14 /opt/rh/gcc-toolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10/include/arm_neon.h:3353:28: note:   initializing argument 1 of ‘uint64_t vgetq_lane_u64(uint64x2_t, int)’
11:09:14  3353 | vgetq_lane_u64 (uint64x2_t __a, const int __b)
11:09:14       |                 ~~~~~~~~~~~^~~
11:09:14 In file included from ../deps/v8/src/codegen/arm64/utils-arm64.h:11,
11:09:14                  from ../deps/v8/src/codegen/arm64/register-arm64.h:8,
11:09:14                  from ../deps/v8/src/codegen/register-arch.h:15,
11:09:14                  from ../deps/v8/src/codegen/register.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/frame-translation-builder.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/translated-state.h:11,
11:09:14                  from ../deps/v8/src/deoptimizer/deoptimized-frame-info.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-frames.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-evaluate.h:12,
11:09:14                  from ../deps/v8/src/init/setup-isolate-full.cc:6:
11:09:14 ../deps/v8/src/utils/utils.h:382:55: error: cannot convert ‘uint8x16_t’ to ‘uint64x2_t’
11:09:14   382 |         if (static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(xored, xored), 0)))
11:09:14       |                                              ~~~~~~~~~^~~~~~~~~~~~~~
11:09:14       |                                                       |
11:09:14       |                                                       uint8x16_t
11:09:14 In file included from ../deps/v8/src/utils/utils.h:35,
11:09:14                  from ../deps/v8/src/codegen/arm64/utils-arm64.h:11,
11:09:14                  from ../deps/v8/src/codegen/arm64/register-arm64.h:8,
11:09:14                  from ../deps/v8/src/codegen/register-arch.h:15,
11:09:14                  from ../deps/v8/src/codegen/register.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/frame-translation-builder.h:8,
11:09:14                  from ../deps/v8/src/deoptimizer/translated-state.h:11,
11:09:14                  from ../deps/v8/src/deoptimizer/deoptimized-frame-info.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-frames.h:10,
11:09:14                  from ../deps/v8/src/debug/debug-evaluate.h:12,
11:09:14                  from ../deps/v8/src/init/setup-isolate-full.cc:6:
11:09:14 /opt/rh/gcc-toolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10/include/arm_neon.h:3353:28: note:   initializing argument 1 of ‘uint64_t vgetq_lane_u64(uint64x2_t, int)’
11:09:14  3353 | vgetq_lane_u64 (uint64x2_t __a, const int __b)
11:09:14       |                 ~~~~~~~~~~~^~~
11:09:14 make[2]: *** [tools/v8_gypfiles/v8_init.target.mk:175: /home/iojs/build/ws/out/Release/obj.target/v8_init/deps/v8/src/init/setup-isolate-full.o] Error 1
11:09:14 make[2]: *** Waiting for unfinished jobs....
11:09:18 g++: warning: switch ‘-msign-return-address=all’ is no longer supported
11:09:18 In file included from ../deps/v8/src/objects/field-index.h:11,
11:09:18                  from ../deps/v8/src/objects/objects.h:26,
11:09:18                  from ../deps/v8/src/objects/tagged-value.h:8,
11:09:18                  from ../deps/v8/src/objects/tagged-field.h:10,
11:09:18                  from ../deps/v8/src/objects/heap-object.h:11,
11:09:18                  from ../deps/v8/src/heap/marking.h:12,
11:09:18                  from ../deps/v8/src/heap/basic-memory-chunk.h:16,
11:09:18                  from ../deps/v8/src/heap/memory-chunk.h:14,
11:09:18                  from ../deps/v8/src/common/code-memory-access.h:15,
11:09:18                  from ../deps/v8/src/codegen/reloc-info.h:9,
11:09:18                  from ../deps/v8/src/compiler/common-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/js-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/access-builder.h:9,
11:09:18                  from ../deps/v8/src/compiler/access-builder.cc:5:
11:09:18 ../deps/v8/src/utils/utils.h: In instantiation of ‘bool v8::internal::SimdMemEqual(const Char*, const Char*, size_t) [with Char = unsigned char; size_t = long unsigned int]’:
11:09:18 ../deps/v8/src/utils/utils.h:400:26:   required from ‘bool v8::internal::CompareCharsEqualUnsigned(const lchar*, const rchar*, size_t) [with lchar = unsigned char; rchar = unsigned char; size_t = long unsigned int]’
11:09:18 ../deps/v8/src/utils/utils.h:418:35:   required from ‘bool v8::internal::CompareCharsEqual(const lchar*, const rchar*, size_t) [with lchar = unsigned char; rchar = char; size_t = long unsigned int]’
11:09:18 ../deps/v8/src/objects/string-inl.h:555:33:   required from ‘bool v8::internal::String::IsEqualToImpl(v8::base::Vector<const Char>, v8::internal::PtrComprCageBase, const v8::internal::SharedStringAccessGuardIfNeeded&) const [with v8::internal::String::EqualityType kEqType = v8::internal::String::EqualityType::kWholeString; Char = char]’
11:09:18 ../deps/v8/src/objects/string-inl.h:518:32:   required from ‘bool v8::internal::String::IsEqualTo(v8::base::Vector<const Char>) const [with v8::internal::String::EqualityType kEqType = v8::internal::String::EqualityType::kWholeString; Char = char]’
11:09:18 ../deps/v8/src/objects/string-inl.h:640:23:   required from here
11:09:18 ../deps/v8/src/utils/utils.h:368:47: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
11:09:18   368 |       return !static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(ored, ored), 0));
11:09:18       |                                 ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
11:09:18 ../deps/v8/src/utils/utils.h:368:57: error: cannot convert ‘uint8x16_t’ to ‘uint64x2_t’
11:09:18   368 |       return !static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(ored, ored), 0));
11:09:18       |                                                ~~~~~~~~~^~~~~~~~~~~~
11:09:18       |                                                         |
11:09:18       |                                                         uint8x16_t
11:09:18 In file included from ../deps/v8/src/utils/utils.h:35,
11:09:18                  from ../deps/v8/src/objects/field-index.h:11,
11:09:18                  from ../deps/v8/src/objects/objects.h:26,
11:09:18                  from ../deps/v8/src/objects/tagged-value.h:8,
11:09:18                  from ../deps/v8/src/objects/tagged-field.h:10,
11:09:18                  from ../deps/v8/src/objects/heap-object.h:11,
11:09:18                  from ../deps/v8/src/heap/marking.h:12,
11:09:18                  from ../deps/v8/src/heap/basic-memory-chunk.h:16,
11:09:18                  from ../deps/v8/src/heap/memory-chunk.h:14,
11:09:18                  from ../deps/v8/src/common/code-memory-access.h:15,
11:09:18                  from ../deps/v8/src/codegen/reloc-info.h:9,
11:09:18                  from ../deps/v8/src/compiler/common-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/js-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/access-builder.h:9,
11:09:18                  from ../deps/v8/src/compiler/access-builder.cc:5:
11:09:18 /opt/rh/gcc-toolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10/include/arm_neon.h:3353:28: note:   initializing argument 1 of ‘uint64_t vgetq_lane_u64(uint64x2_t, int)’
11:09:18  3353 | vgetq_lane_u64 (uint64x2_t __a, const int __b)
11:09:18       |                 ~~~~~~~~~~~^~~
11:09:18 In file included from ../deps/v8/src/objects/field-index.h:11,
11:09:18                  from ../deps/v8/src/objects/objects.h:26,
11:09:18                  from ../deps/v8/src/objects/tagged-value.h:8,
11:09:18                  from ../deps/v8/src/objects/tagged-field.h:10,
11:09:18                  from ../deps/v8/src/objects/heap-object.h:11,
11:09:18                  from ../deps/v8/src/heap/marking.h:12,
11:09:18                  from ../deps/v8/src/heap/basic-memory-chunk.h:16,
11:09:18                  from ../deps/v8/src/heap/memory-chunk.h:14,
11:09:18                  from ../deps/v8/src/common/code-memory-access.h:15,
11:09:18                  from ../deps/v8/src/codegen/reloc-info.h:9,
11:09:18                  from ../deps/v8/src/compiler/common-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/js-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/access-builder.h:9,
11:09:18                  from ../deps/v8/src/compiler/access-builder.cc:5:
11:09:18 ../deps/v8/src/utils/utils.h:375:53: error: cannot convert ‘uint8x16_t’ to ‘uint64x2_t’
11:09:18   375 |       if (static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(xored, xored), 0)))
11:09:18       |                                            ~~~~~~~~~^~~~~~~~~~~~~~
11:09:18       |                                                     |
11:09:18       |                                                     uint8x16_t
11:09:18 In file included from ../deps/v8/src/utils/utils.h:35,
11:09:18                  from ../deps/v8/src/objects/field-index.h:11,
11:09:18                  from ../deps/v8/src/objects/objects.h:26,
11:09:18                  from ../deps/v8/src/objects/tagged-value.h:8,
11:09:18                  from ../deps/v8/src/objects/tagged-field.h:10,
11:09:18                  from ../deps/v8/src/objects/heap-object.h:11,
11:09:18                  from ../deps/v8/src/heap/marking.h:12,
11:09:18                  from ../deps/v8/src/heap/basic-memory-chunk.h:16,
11:09:18                  from ../deps/v8/src/heap/memory-chunk.h:14,
11:09:18                  from ../deps/v8/src/common/code-memory-access.h:15,
11:09:18                  from ../deps/v8/src/codegen/reloc-info.h:9,
11:09:18                  from ../deps/v8/src/compiler/common-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/js-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/access-builder.h:9,
11:09:18                  from ../deps/v8/src/compiler/access-builder.cc:5:
11:09:18 /opt/rh/gcc-toolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10/include/arm_neon.h:3353:28: note:   initializing argument 1 of ‘uint64_t vgetq_lane_u64(uint64x2_t, int)’
11:09:18  3353 | vgetq_lane_u64 (uint64x2_t __a, const int __b)
11:09:18       |                 ~~~~~~~~~~~^~~
11:09:18 In file included from ../deps/v8/src/objects/field-index.h:11,
11:09:18                  from ../deps/v8/src/objects/objects.h:26,
11:09:18                  from ../deps/v8/src/objects/tagged-value.h:8,
11:09:18                  from ../deps/v8/src/objects/tagged-field.h:10,
11:09:18                  from ../deps/v8/src/objects/heap-object.h:11,
11:09:18                  from ../deps/v8/src/heap/marking.h:12,
11:09:18                  from ../deps/v8/src/heap/basic-memory-chunk.h:16,
11:09:18                  from ../deps/v8/src/heap/memory-chunk.h:14,
11:09:18                  from ../deps/v8/src/common/code-memory-access.h:15,
11:09:18                  from ../deps/v8/src/codegen/reloc-info.h:9,
11:09:18                  from ../deps/v8/src/compiler/common-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/js-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/access-builder.h:9,
11:09:18                  from ../deps/v8/src/compiler/access-builder.cc:5:
11:09:18 ../deps/v8/src/utils/utils.h:382:55: error: cannot convert ‘uint8x16_t’ to ‘uint64x2_t’
11:09:18   382 |         if (static_cast<bool>(vgetq_lane_u64(vpmaxq_u8(xored, xored), 0)))
11:09:18       |                                              ~~~~~~~~~^~~~~~~~~~~~~~
11:09:18       |                                                       |
11:09:18       |                                                       uint8x16_t
11:09:18 In file included from ../deps/v8/src/utils/utils.h:35,
11:09:18                  from ../deps/v8/src/objects/field-index.h:11,
11:09:18                  from ../deps/v8/src/objects/objects.h:26,
11:09:18                  from ../deps/v8/src/objects/tagged-value.h:8,
11:09:18                  from ../deps/v8/src/objects/tagged-field.h:10,
11:09:18                  from ../deps/v8/src/objects/heap-object.h:11,
11:09:18                  from ../deps/v8/src/heap/marking.h:12,
11:09:18                  from ../deps/v8/src/heap/basic-memory-chunk.h:16,
11:09:18                  from ../deps/v8/src/heap/memory-chunk.h:14,
11:09:18                  from ../deps/v8/src/common/code-memory-access.h:15,
11:09:18                  from ../deps/v8/src/codegen/reloc-info.h:9,
11:09:18                  from ../deps/v8/src/compiler/common-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/js-operator.h:10,
11:09:18                  from ../deps/v8/src/compiler/access-builder.h:9,
11:09:18                  from ../deps/v8/src/compiler/access-builder.cc:5:
11:09:18 /opt/rh/gcc-toolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10/include/arm_neon.h:3353:28: note:   initializing argument 1 of ‘uint64_t vgetq_lane_u64(uint64x2_t, int)’
11:09:18  3353 | vgetq_lane_u64 (uint64x2_t __a, const int __b)
11:09:18       |                 ~~~~~~~~~~~^~~
11:09:18 make[2]: *** [tools/v8_gypfiles/v8_compiler.target.mk:313: /home/iojs/build/ws/out/Release/obj.target/v8_compiler/deps/v8/src/compiler/access-builder.o] Error 1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked node-test-commit-arm and iojs release CI logs, then inspect deps/v8/src/heap/base/memory-tagging.cc and deps/v8/src/utils/utils.h. Reproduce the V8 11.9 builds on RHEL8 arm64 with GCC 10.3.1 and compare the memtag and NEON compiler errors. Done means the affected CI builds compile successfully on that platform.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
build-system, ci-cd, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.