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

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 a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: gzdoom 3.7.x won't compile under the ppc64le arch

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

by draena » Mon Feb 04, 2019 12:43 pm

_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!

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

by _mental_ » Mon Feb 04, 2019 8:21 am

Should be fixed in 8892cb6.

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

by Rachael » Mon Feb 04, 2019 4:27 am

_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.

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

by _mental_ » Mon Feb 04, 2019 2:44 am

I cannot test this as well. Although, I will try to exclude JIT related code from all targets except Intel x64.

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

by dpJudas » Sun Feb 03, 2019 3:43 pm

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.

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

by Guest » Sun Feb 03, 2019 10:56 am

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 :-)

Top