Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build on aarch64 #12577

Closed
jbeich opened this issue Aug 29, 2022 · 5 comments
Closed

Fails to build on aarch64 #12577

jbeich opened this issue Aug 29, 2022 · 5 comments
Labels
Build and CI Anything related to the build process and continuous integration Regression

Comments

@jbeich
Copy link
Contributor

jbeich commented Aug 29, 2022

Likely regressed by 1dd1062. From error log (compare with previous good log):

rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:713:19: error: no member named 'r32' in 'asmjit::arm::Gp'
                                c.ldr(args[1].r32(), arm::ptr(imm_address));
                                      ~~~~~~~ ^
/usr/include/c++/v1/type_traits:3918:23: note: in instantiation of function template specialization 'ppu_far_jumps_t::gen_jump(u32)::(anonymous class)::operator()<std::array<asmjit::arm::Gp, 4>>' requested here
_LIBCPP_INVOKE_RETURN(static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...))
                      ^
/usr/include/c++/v1/type_traits:3934:5: note: while substituting deduced template arguments into function template '__invoke' [with _Fp = (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), _Args = <asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>]
    _VSTD::__invoke(declval<_XFp>(), declval<_XArgs>()...));
    ^
/usr/include/c++/v1/__config:808:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
              ^
/usr/include/c++/v1/type_traits:3940:28: note: while substituting deduced template arguments into function template '__try_call' [with _XFp = (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), _XArgs = (no value)]
  using _Result = decltype(__try_call<_Fp, _Args...>(0));
                           ^
/usr/include/c++/v1/type_traits:4122:31: note: in instantiation of template class 'std::__invokable_r<bool, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>' requested here
    : integral_constant<bool, __invokable_r<_Ret, _Fn, _Args...>::value> {};
                              ^
/usr/include/c++/v1/type_traits:4130:7: note: in instantiation of template class 'std::is_invocable_r<bool, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>' requested here
    = is_invocable_r<_Ret, _Fn, _Args...>::value;
      ^
rpcs3-0.0.23-14088-g698c3415ea/Utilities/JIT.h:305:21: note: in instantiation of variable template specialization 'std::is_invocable_r_v<bool, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>' requested here
        if constexpr (std::is_invocable_r_v<bool, F, Asm&, native_args&>)
                           ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:22: note: in instantiation of function template specialization 'build_function_asm<void (*)(ppu_thread &, ppu_opcode_t, stx::se_t<unsigned int, true, 4> *, ppu_intrp_func *), asmjit::a64::Assembler, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63)>' requested here
                        it->second.func = build_function_asm<ppu_intrp_func_t>("", [&](native_asm& c, auto& args)
                                          ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:813:144: note: in instantiation of function template specialization 'ppu_far_jumps_t::gen_jump<false>' requested here
        ppu_register_function_at(entry, 4, g_cfg.core.ppu_decoder == ppu_decoder_type::_static ? &ppu_far_jump : ensure(g_fxo->get<ppu_far_jumps_t>().gen_jump<false>(entry)));
                                                                                                                                                      ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:714:19: error: no member named 'r32' in 'asmjit::arm::Gp'
                                c.str(args[1].r32(), arm::Mem(args[0], ::offset32(&ppu_thread::cia)));
                                      ~~~~~~~ ^
In file included from rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:2:
rpcs3-0.0.23-14088-g698c3415ea/Utilities/JIT.h:312:3: error: no matching function for call to object of type '(lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63)'
                builder(compiler, args);
                ^~~~~~~
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:22: note: in instantiation of function template specialization 'build_function_asm<void (*)(ppu_thread &, ppu_opcode_t, stx::se_t<unsigned int, true, 4> *, ppu_intrp_func *), asmjit::a64::Assembler, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63)>' requested here
                        it->second.func = build_function_asm<ppu_intrp_func_t>("", [&](native_asm& c, auto& args)
                                          ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:813:144: note: in instantiation of function template specialization 'ppu_far_jumps_t::gen_jump<false>' requested here
        ppu_register_function_at(entry, 4, g_cfg.core.ppu_decoder == ppu_decoder_type::_static ? &ppu_far_jump : ensure(g_fxo->get<ppu_far_jumps_t>().gen_jump<false>(entry)));
                                                                                                                                                      ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63: note: candidate template ignored: substitution failure [with args:auto = std::array<asmjit::arm::Gp, 4>]
                        it->second.func = build_function_asm<ppu_intrp_func_t>("", [&](native_asm& c, auto& args)
                                                                                   ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:713:19: error: no member named 'r32' in 'asmjit::arm::Gp'
                                c.ldr(args[1].r32(), arm::ptr(imm_address));
                                      ~~~~~~~ ^
/usr/include/c++/v1/type_traits:3918:23: note: in instantiation of function template specialization 'ppu_far_jumps_t::gen_jump(u32)::(anonymous class)::operator()<std::array<asmjit::arm::Gp, 4>>' requested here
_LIBCPP_INVOKE_RETURN(static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...))
                      ^
/usr/include/c++/v1/type_traits:3934:5: note: while substituting deduced template arguments into function template '__invoke' [with _Fp = (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), _Args = <asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>]
    _VSTD::__invoke(declval<_XFp>(), declval<_XArgs>()...));
    ^
/usr/include/c++/v1/__config:808:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
              ^
/usr/include/c++/v1/type_traits:3940:28: note: while substituting deduced template arguments into function template '__try_call' [with _XFp = (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), _XArgs = (no value)]
  using _Result = decltype(__try_call<_Fp, _Args...>(0));
                           ^
/usr/include/c++/v1/type_traits:4122:31: note: in instantiation of template class 'std::__invokable_r<bool, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>' requested here
    : integral_constant<bool, __invokable_r<_Ret, _Fn, _Args...>::value> {};
                              ^
/usr/include/c++/v1/type_traits:4130:7: note: in instantiation of template class 'std::is_invocable_r<bool, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>' requested here
    = is_invocable_r<_Ret, _Fn, _Args...>::value;
      ^
rpcs3-0.0.23-14088-g698c3415ea/Utilities/JIT.h:305:21: note: in instantiation of variable template specialization 'std::is_invocable_r_v<bool, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63), asmjit::a64::Assembler &, std::array<asmjit::arm::Gp, 4> &>' requested here
        if constexpr (std::is_invocable_r_v<bool, F, Asm&, native_args&>)
                           ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:22: note: in instantiation of function template specialization 'build_function_asm<void (*)(ppu_thread &, ppu_opcode_t, stx::se_t<unsigned int, true, 4> *, ppu_intrp_func *), asmjit::a64::Assembler, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63)>' requested here
                        it->second.func = build_function_asm<ppu_intrp_func_t>("", [&](native_asm& c, auto& args)
                                          ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:3459:87: note: in instantiation of function template specialization 'ppu_far_jumps_t::gen_jump<true>' requested here
                                const auto far_jump = ppu_get_far_jump(func.addr) ? g_fxo->get<ppu_far_jumps_t>().gen_jump(func.addr) : nullptr;
                                                                                                                  ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:714:19: error: no member named 'r32' in 'asmjit::arm::Gp'
                                c.str(args[1].r32(), arm::Mem(args[0], ::offset32(&ppu_thread::cia)));
                                      ~~~~~~~ ^
In file included from rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:2:
rpcs3-0.0.23-14088-g698c3415ea/Utilities/JIT.h:312:3: error: no matching function for call to object of type '(lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63)'
                builder(compiler, args);
                ^~~~~~~
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:22: note: in instantiation of function template specialization 'build_function_asm<void (*)(ppu_thread &, ppu_opcode_t, stx::se_t<unsigned int, true, 4> *, ppu_intrp_func *), asmjit::a64::Assembler, (lambda at rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63)>' requested here
                        it->second.func = build_function_asm<ppu_intrp_func_t>("", [&](native_asm& c, auto& args)
                                          ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:3459:87: note: in instantiation of function template specialization 'ppu_far_jumps_t::gen_jump<true>' requested here
                                const auto far_jump = ppu_get_far_jump(func.addr) ? g_fxo->get<ppu_far_jumps_t>().gen_jump(func.addr) : nullptr;
                                                                                                                  ^
rpcs3-0.0.23-14088-g698c3415ea/rpcs3/Emu/Cell/PPUThread.cpp:701:63: note: candidate template ignored: substitution failure [with args:auto = std::array<asmjit::arm::Gp, 4>]
                        it->second.func = build_function_asm<ppu_intrp_func_t>("", [&](native_asm& c, auto& args)
                                                                                   ^
6 errors generated.
@shinra-electric
Copy link
Contributor

Same errors when building on M1 Mac.

@MSuih MSuih added Regression Build and CI Anything related to the build process and continuous integration labels Aug 30, 2022
@clienthax clienthax mentioned this issue Sep 3, 2022
@elad335 elad335 mentioned this issue Sep 4, 2022
@MSuih
Copy link
Member

MSuih commented Sep 4, 2022

Should be fixed with #12606.

@MSuih MSuih closed this as completed Sep 4, 2022
@shinra-electric
Copy link
Contributor

shinra-electric commented Sep 4, 2022

Confirmed to build on M1 for me.

@Danke-Boi
Copy link

Confirmed to build on M1 for me.

How did you build it? I am having difficulties doing so, as Visual Studio doesn't have C++ support on Mac.

@shinra-electric
Copy link
Contributor

@Danke-Boi instructions are in #12115

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build and CI Anything related to the build process and continuous integration Regression
Projects
None yet
Development

No branches or pull requests

4 participants