gzdoom 3.7.x won't compile under the ppc64le arch

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Post Reply
Guest

gzdoom 3.7.x won't compile under the ppc64le arch

Post by Guest »

Greetings.

gdoom 3.7.x don't compile under ppc64(le) architecture; it seems that the cause is asmjit not supporting such arch.


[code]
# error "[asmjit] Couldn't determine the target's calling convention."

In file included from /home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/codeholder.h:13,
from /home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/codeemitter.h:13,
from /home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/assembler.h:12,
from /home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/assembler.cpp:11:
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:477:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature0(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:486:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature1(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:496:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature2(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:506:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature3(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:516:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature4(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:526:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature5(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:536:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature6(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:546:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature7(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:556:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature8(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:566:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature9(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:576:59: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignature10(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:587:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignatureT(uint32_t ccId = CallConv::kIdHost) noexcept {
^~~~~~~
/home/yamir/gzdoom-src-g3.7.2/gzdoom-g3.7.2/asmjit/asmjit/base/../base/../base/../base/../base/func.h:607:58: error: ‘kIdHost’ no es un miembro de ‘asmjit::CallConv’
ASMJIT_INLINE FuncSignatureX(uint32_t ccId = CallConv::kIdHost) noexcept {

[/code]

Thank you for reading :-)
dpJudas
 
 
Posts: 3037
Joined: Sat May 28, 2016 1:01 pm

Re: gzdoom 3.7.x won't compile under the ppc64le arch

Post by dpJudas »

My answer to this one is the same as the other exotic platforms with similar errors:

I don't own the hardware or software to test this. I am also not interested in acquiring it. It requires active involvement from developers using those platforms to fix these issues.

For anyone interested in creating a PR, two things needs to be done:

1) Improve CMakeLists.txt to not build/include asmjit or the jit_*.cpp files on architectures that aren't compatible.
2) Add empty stubs or some #ifdefs that makes it not call the JIT compiler code (essentially the linker errors that appear when the jit files aren't included). There is already code for x86 redirecting execution to the VM, so relatively speaking not much code needs to be added.
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: gzdoom 3.7.x won't compile under the ppc64le arch

Post by _mental_ »

I cannot test this as well. Although, I will try to exclude JIT related code from all targets except Intel x64.
User avatar
Rachael
Posts: 13530
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: gzdoom 3.7.x won't compile under the ppc64le arch

Post by Rachael »

_mental_ wrote:Although, I will try to exclude JIT related code from all targets except Intel x64.
This is probably the best way to handle it to be honest. Just do a blanket exclusion, since the system only supports one architecture anyway, and that's unlikely to change in the immediate future.
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: gzdoom 3.7.x won't compile under the ppc64le arch

Post by _mental_ »

Should be fixed in 8892cb6.
draena
Posts: 1
Joined: Sun Feb 03, 2019 4:02 am

Re: gzdoom 3.7.x won't compile under the ppc64le arch

Post by draena »

_mental_ wrote:Should be fixed in 8892cb6.
I was able to compile and test the engine in the ppc64le hardware with those changes and it works perfectly. Yeah, the issue has been fixed :-)

Thank you, everyone!
Post Reply

Return to “Closed Bugs [GZDoom]”