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.

Reply via email to