On Tue, Sep 12, 2023 at 8:07 AM Trung Le <8...@tle.id.au> wrote: > It is plausible. Codegen should use the the `ppc/register-ppc.h` instead > of the `x64/register-x64.h` so there might be changes needed to be done to > get codegen look up the right architecture. >
That's not what I meant - every architecture has this ALWAYS_ALLOCATABLE_GENERAL_REGISTERS list defined. Here it is for ppc <https://source.chromium.org/chromium/chromium/src/+/main:v8/src/codegen/ppc/register-ppc.h;l=20;drc=5ca8523b8c9ff9a7b3e7eb349d8fc7566f660675>. You'll have to find out why codegen is trying to allocate a register that is not part of this list. > > On Tuesday, September 12, 2023 at 3:45:45 PM UTC+10 jgr...@chromium.org > wrote: > >> Codegen is attempting to use a register that is not available (it is not >> part of the allocatable register list >> <https://source.chromium.org/chromium/chromium/src/+/main:v8/src/codegen/x64/register-x64.h;l=31;drc=5ca8523b8c9ff9a7b3e7eb349d8fc7566f660675>). >> Perhaps >> it's trying to satisfy an invalid register assignment request from >> interface-descriptors? >> >> On Tue, Sep 12, 2023 at 7:42 AM Trung Le <8...@tle.id.au> wrote: >> >>> I can tell it could be related or similar to that of reported in >>> https://groups.google.com/g/v8-users/c/cRb9nQUFerY >>> >>> On Tuesday, September 12, 2023 at 2:13:31 PM UTC+10 Trung Le wrote: >>> >>>> Hi all developers and core team members >>>> >>>> I am writing to you in hope someone would be able to provide guidance >>>> so I could understand and hopefully fix the following issue when compiling >>>> >>>> v8_enable_debugging_features=true >>>> is_debug=true >>>> target_cpu = "ppc64" >>>> v8_target_cpu = "ppc64" >>>> use_goma = false >>>> is_clang = true >>>> v8_static_library=false >>>> is_component_build = true >>>> use_custom_libcxx = false >>>> v8_optimized_debug = false >>>> symbol_level = 2 >>>> v8_expose_symbols = true >>>> >>>> I know ppc64le target is not supported but worth a shot in a dark as >>>> someone might have seen similar issue on x86_64 or arm64 >>>> >>>> FYI the patches for support ppc64le can be found at >>>> https://src.fedoraproject.org/rpms/chromium/pull-request/37 >>>> >>>> FAILED: gen/v8/embedded.S gen/v8/snapshot.cc >>>> /usr/bin/python3 ../../v8/tools/run.py ./mksnapshot >>>> --turbo_instruction_scheduling --target_os=linux --target_arch=ppc64 >>>> --embedded_src gen/v8/embedded.S --embedded_variant Default --random-seed >>>> 314159265 --startup_src gen/v8/snapshot.cc --native-code-counters >>>> --verify-heap >>>> >>>> # Fatal error in ../../v8/src/compiler/backend/register-allocator.cc, >>>> line 1596 >>>> # Debug check failed: data()->config()->IsAllocatableGeneralCode( >>>> operand->fixed_register_index()). >>>> # >>>> #FailureMessage Object: 0x7fffeae028d8 >>>> ==== C stack trace =============================== >>>> >>>> ./mksnapshot(v8::base::debug::StackTrace::StackTrace()+0x2c) >>>> [0x104c5fa9c] >>>> ./mksnapshot(+0x4acdb20) [0x104c5db20] >>>> ./mksnapshot(V8_Fatal(char const*, int, char const*, ...)+0x124) >>>> [0x104c3a054] >>>> ./mksnapshot(+0x4aa989c) [0x104c3989c] >>>> ./mksnapshot(V8_Dcheck(char const*, int, char const*)+0x30) >>>> [0x104c3a0b0] >>>> >>>> ./mksnapshot(v8::internal::compiler::ConstraintBuilder::AllocateFixed(v8::internal::compiler::UnallocatedOperand*, >>>> int, bool, bool)+0x204) [0x10342fcc4] >>>> >>>> ./mksnapshot(v8::internal::compiler::ConstraintBuilder::MeetConstraintsBefore(int)+0x610) >>>> [0x1034308d0] >>>> >>>> ./mksnapshot(v8::internal::compiler::ConstraintBuilder::MeetRegisterConstraints(v8::internal::compiler::InstructionBlock >>>> const*)+0xe0) [0x103430230] >>>> >>>> ./mksnapshot(v8::internal::compiler::ConstraintBuilder::MeetRegisterConstraints()+0x70) >>>> [0x103430110] >>>> >>>> ./mksnapshot(v8::internal::compiler::MeetRegisterConstraintsPhase::Run(v8::internal::compiler::PipelineData*, >>>> v8::internal::Zone*)+0x60) [0x103831b20] >>>> ./mksnapshot(auto >>>> v8::internal::compiler::PipelineImpl::Run<v8::internal::compiler::MeetRegisterConstraintsPhase>()+0xd4) >>>> [0x103822f04] >>>> >>>> ./mksnapshot(v8::internal::compiler::PipelineImpl::AllocateRegistersForTopTier(v8::internal::RegisterConfiguration >>>> const*, v8::internal::compiler::CallDescriptor*, bool)+0x184) [0x103821214] >>>> >>>> ./mksnapshot(v8::internal::compiler::PipelineImpl::SelectInstructions(v8::internal::compiler::Linkage*)+0xc78) >>>> [0x103818258] >>>> >>>> ./mksnapshot(v8::internal::compiler::Pipeline::GenerateCodeForCodeStub(v8::internal::Isolate*, >>>> v8::internal::compiler::CallDescriptor*, v8::internal::compiler::Graph*, >>>> v8::internal::compiler::JSGraph*, >>>> v8::internal::compiler::SourcePositionTable*, v8::internal::CodeKind, char >>>> const*, v8::internal::Builtin, v8::internal::AssemblerOptions const&, >>>> v8::internal::ProfileDataFromFile const*)+0x1924) [0x103819ee4] >>>> >>>> ./mksnapshot(v8::internal::compiler::CodeAssembler::GenerateCode(v8::internal::compiler::CodeAssemblerState*, >>>> v8::internal::AssemblerOptions const&, v8::internal::ProfileDataFromFile >>>> const*)+0x88) [0x1034f9a88] >>>> >>>> ./mksnapshot(v8::internal::SetupIsolateDelegate::SetupBuiltinsInternal(v8::internal::Isolate*)+0x35d8c) >>>> [0x103b364bc] >>>> >>>> ./mksnapshot(v8::internal::SetupIsolateDelegate::SetupBuiltins(v8::internal::Isolate*, >>>> bool)+0x34) [0x1027e9d24] >>>> >>>> ./mksnapshot(v8::internal::Isolate::Init(v8::internal::SnapshotData*, >>>> v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool)+0x1f30) >>>> [0x1018cd230] >>>> ./mksnapshot(v8::internal::Isolate::InitWithoutSnapshot()+0x30) >>>> [0x1018cb2d0] >>>> ./mksnapshot(v8::SnapshotCreator::SnapshotCreator(v8::Isolate*, >>>> long const*, v8::StartupData const*, bool)+0x140) [0x10146ed20] >>>> >>>> ./mksnapshot(v8::internal::CreateSnapshotDataBlobInternal(v8::SnapshotCreator::FunctionCodeHandling, >>>> char const*, v8::Isolate*)+0x88) [0x102424938] >>>> ./mksnapshot(main+0xd08) [0x10145aba8] >>>> /lib64/libc.so.6(+0x30f2c) [0x7fff94630f2c] >>>> /lib64/libc.so.6(__libc_start_main+0x1ac) [0x7fff9463116c] >>>> Return code is -5 >>>> ninja: build stopped: subcommand failed. >>>> error: Bad exit status from /var/tmp/rpm-tmp.kTN83s (%build) >>>> >>>> Many thanks >>> >>> -- >>> -- >>> v8-dev mailing list >>> v8-...@googlegroups.com >>> http://groups.google.com/group/v8-dev >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "v8-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to v8-dev+un...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/v8-dev/d231188a-bc91-4df9-bfa0-ac30b897884en%40googlegroups.com >>> <https://groups.google.com/d/msgid/v8-dev/d231188a-bc91-4df9-bfa0-ac30b897884en%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > -- > v8-dev mailing list > v8-dev@googlegroups.com > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to v8-dev+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-dev/85be5bed-7914-4773-a1a9-29e7a11970b9n%40googlegroups.com > <https://groups.google.com/d/msgid/v8-dev/85be5bed-7914-4773-a1a9-29e7a11970b9n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAH3p7oM2d_SWEnRqKXNDvQE6X1qpQmUKdxTy4eKQvrXOAsh4Nw%40mail.gmail.com.