Looks like a code generation issue with v8 engine
I'm getting a compile issue with static assert on code that is generated when using an arm compile using yocto(dunfell). It appears this is typically ported using meta-openembedded but for whatever reason they didn't port nodejs 14 only nodejs12 on any of the yocto versions.
RMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DCAN_USE_NEON' '-DV8_EMBEDDER_STRING="-node.17"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ARRAY_BUFFER_EXTENSION' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' -I../deps/v8 -I../deps/v8/include -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/generate-bytecode-output-root -pthread -Wno-unused-parameter -Wno-return-type -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/.deps//home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj.host/v8_initializers/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.o.d.raw -c
In file included from ../deps/v8/src/codegen/code-stub-assembler.h:10,
from ../deps/v8/src/builtins/builtins-array-gen.h:8,
from /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:1:
../deps/v8/src/base/bit-field.h: In instantiation of 'class v8::base::BitField<bool, 34, 1, unsigned int>':
../deps/v8/src/codegen/code-stub-assembler.h:2858:62: required from 'v8::internal::TNodev8::internal::UintPtrT v8::internal::CodeStubAssembler::DecodeWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
../deps/v8/src/codegen/code-stub-assembler.h:2873:66: required from 'v8::internal::TNodev8::internal::Uint32T v8::internal::CodeStubAssembler::DecodeWord32FromWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:259:195: required from here
../deps/v8/src/base/bit-field.h:26:23: error: static assertion failed: shift < 8 * sizeof(U)
26 | STATIC_ASSERT(shift < 8 * sizeof(U)); // Otherwise shifts by {shift} are UB.
| ~~~~~~^~~~~~~~~~~~~~~
../deps/v8/src/base/macros.h:200:43: note: in definition of macro 'STATIC_ASSERT'
200 | #define STATIC_ASSERT(test) static_assert(test, #test)
The other static compile issue I noticed was here:
RMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DCAN_USE_NEON' '-DV8_EMBEDDER_STRING="-node.17"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ARRAY_BUFFER_EXTENSION' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' -I../deps/v8 -I../deps/v8/include -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/generate-bytecode-output-root -pthread -Wno-unused-parameter -Wno-return-type -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/.deps//home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj.host/v8_initializers/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.o.d.raw -c
In file included from ../deps/v8/src/codegen/code-stub-assembler.h:10,
from ../deps/v8/src/builtins/builtins-array-gen.h:8,
from /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:1:
../deps/v8/src/base/bit-field.h: In instantiation of 'class v8::base::BitField<bool, 34, 1, unsigned int>':
../deps/v8/src/codegen/code-stub-assembler.h:2858:62: required from 'v8::internal::TNodev8::internal::UintPtrT v8::internal::CodeStubAssembler::DecodeWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
../deps/v8/src/codegen/code-stub-assembler.h:2873:66: required from 'v8::internal::TNodev8::internal::Uint32T v8::internal::CodeStubAssembler::DecodeWord32FromWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:259:195: required from here
../deps/v8/src/base/bit-field.h:26:23: error: static assertion failed: shift < 8 * sizeof(U)
26 | STATIC_ASSERT(shift < 8 * sizeof(U)); // Otherwise shifts by {shift} are UB.
Looks like a code generation issue with v8 engine
I'm getting a compile issue with static assert on code that is generated when using an arm compile using yocto(dunfell). It appears this is typically ported using meta-openembedded but for whatever reason they didn't port nodejs 14 only nodejs12 on any of the yocto versions.
RMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DCAN_USE_NEON' '-DV8_EMBEDDER_STRING="-node.17"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ARRAY_BUFFER_EXTENSION' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' -I../deps/v8 -I../deps/v8/include -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/generate-bytecode-output-root -pthread -Wno-unused-parameter -Wno-return-type -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/.deps//home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj.host/v8_initializers/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.o.d.raw -c
In file included from ../deps/v8/src/codegen/code-stub-assembler.h:10,
from ../deps/v8/src/builtins/builtins-array-gen.h:8,
from /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:1:
../deps/v8/src/base/bit-field.h: In instantiation of 'class v8::base::BitField<bool, 34, 1, unsigned int>':
../deps/v8/src/codegen/code-stub-assembler.h:2858:62: required from 'v8::internal::TNodev8::internal::UintPtrT v8::internal::CodeStubAssembler::DecodeWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
../deps/v8/src/codegen/code-stub-assembler.h:2873:66: required from 'v8::internal::TNodev8::internal::Uint32T v8::internal::CodeStubAssembler::DecodeWord32FromWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:259:195: required from here
../deps/v8/src/base/bit-field.h:26:23: error: static assertion failed: shift < 8 * sizeof(U)
26 | STATIC_ASSERT(shift < 8 * sizeof(U)); // Otherwise shifts by {shift} are UB.
| ~~~~~~^~~~~~~~~~~~~~~
../deps/v8/src/base/macros.h:200:43: note: in definition of macro 'STATIC_ASSERT'
200 | #define STATIC_ASSERT(test) static_assert(test, #test)
The other static compile issue I noticed was here:
RMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DCAN_USE_NEON' '-DV8_EMBEDDER_STRING="-node.17"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ARRAY_BUFFER_EXTENSION' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' -I../deps/v8 -I../deps/v8/include -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root -I/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/generate-bytecode-output-root -pthread -Wno-unused-parameter -Wno-return-type -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/.deps//home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj.host/v8_initializers/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.o.d.raw -c
In file included from ../deps/v8/src/codegen/code-stub-assembler.h:10,
from ../deps/v8/src/builtins/builtins-array-gen.h:8,
from /home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:1:
../deps/v8/src/base/bit-field.h: In instantiation of 'class v8::base::BitField<bool, 34, 1, unsigned int>':
../deps/v8/src/codegen/code-stub-assembler.h:2858:62: required from 'v8::internal::TNodev8::internal::UintPtrT v8::internal::CodeStubAssembler::DecodeWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
../deps/v8/src/codegen/code-stub-assembler.h:2873:66: required from 'v8::internal::TNodev8::internal::Uint32T v8::internal::CodeStubAssembler::DecodeWord32FromWord(v8::internal::SloppyTNodev8::internal::WordT) [with BitField = v8::base::BitField<bool, 34, 1, unsigned int>]'
/home/ird/ird-bsp/ird-bsp/build-vector/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/nodejs/14.15.2-r0/node-v14.15.2/out/Release/obj/gen/torque-output-root/torque-generated/../../deps/v8/src/builtins/internal-coverage-tq-csa.cc:259:195: required from here
../deps/v8/src/base/bit-field.h:26:23: error: static assertion failed: shift < 8 * sizeof(U)
26 | STATIC_ASSERT(shift < 8 * sizeof(U)); // Otherwise shifts by {shift} are UB.