Compilation issues with RHEL8-arm64 and recent V8
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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