aarch64,as_jit.cpp bug.
Quote from doo on September 7, 2024, 9:30 am####### Compiler, tools and options
CC = aarch64-linux-gnu-gcc
CXX = aarch64-linux-gnu-g++
DEFINES = -DREVNO=\""0907"\" -DAPP_VERSION=\"1.2.0\" -DBUILDDATE=\""07-09-24"\" -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CONCURRENT_LIB -DQT_SERIALPORT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB
CFLAGS = -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS = -pipe -Wno-unused-parameter -Wno-implicit-fallthrough -fno-strict-aliasing -Wno-cast-function-type -Wno-deprecated-copy -Wno-invalid-offsetof -fno-pic -Ofast -O2 -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)error:
build/objects/as_jit.o: In function `std::_Function_handler<void (assembler::JumpType, bool), asCJITCompiler::CompileFunction(asIScriptFunction*, void (**)(asSVMRegisters*, unsigned long))::{lambda(assembler::JumpType, bool)#3}>::_M_invoke(std::_Any_data const&, assembler::JumpType&&, bool&&)': as_jit.cpp:(.text+0x3b0): undefined reference to `assembler::Register::operator=(void*)' as_jit.cpp:(.text+0x3cc): undefined reference to `assembler::Processor::jump(assembler::JumpType, unsigned char volatile*)' as_jit.cpp:(.text+0x3d8): undefined reference to `assembler::Processor::prep_short_jump(assembler::JumpType)' as_jit.cpp:(.text+0x3e8): undefined reference to `assembler::Register::operator=(void*)' as_jit.cpp:(.text+0x3f8): undefined reference to `assembler::Processor::jump(assembler::JumpType, unsigned char volatile*)' as_jit.cpp:(.text+0x410): undefined reference to `assembler::Processor::end_short_jump(void*)' build/objects/as_jit.o: In function `SystemCall::call_entry(asSSystemFunctionInterface*, asCScriptFunction*)': as_jit.cpp:(.text+0xc10): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode, unsigned int)' as_jit.cpp:(.text+0xc20): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' as_jit.cpp:(.text+0xc34): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode, unsigned int)' as_jit.cpp:(.text+0xc48): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode, unsigned int)' as_jit.cpp:(.text+0xc60): undefined reference to `assembler::Register::operator*() const' as_jit.cpp:(.text+0xc70): undefined reference to `assembler::MemAddress::operator+(int)' as_jit.cpp:(.text+0xcc4): undefined reference to `assembler::MemAddress::operator=(void*)' as_jit.cpp:(.text+0xcd0): undefined reference to `assembler::Register::operator*() const' as_jit.cpp:(.text+0xce0): undefined reference to `assembler::MemAddress::operator+(int)' as_jit.cpp:(.text+0xd1c): undefined reference to `assembler::MemAddress::operator=(assembler::Register)' as_jit.cpp:(.text+0xd30): undefined reference to `assembler::Register::operator*() const' as_jit.cpp:(.text+0xd44): undefined reference to `assembler::MemAddress::operator+(int)' as_jit.cpp:(.text+0xd7c): undefined reference to `assembler::Register::operator=(assembler::MemAddress)' as_jit.cpp:(.text+0xd88): undefined reference to `assembler::Register::operator+=(unsigned int)' as_jit.cpp:(.text+0xd94): undefined reference to `assembler::Register::operator*() const' as_jit.cpp:(.text+0xdd8): undefined reference to `assembler::MemAddress::operator=(void*)' as_jit.cpp:(.text+0xde4): undefined reference to `assembler::Register::operator*() const' as_jit.cpp:(.text+0xdf4): undefined reference to `assembler::MemAddress::operator+(int)' ....... as_jit.cpp:(.text+0x16990): undefined reference to `assembler::FloatingPointUnit::store_double(assembler::MemAddress, bool)' as_jit.cpp:(.text+0x169d0): undefined reference to `assembler::FloatingPointUnit::sub_double(assembler::MemAddress, bool)' as_jit.cpp:(.text+0x16a00): undefined reference to `assembler::FloatingPointUnit::div_double(assembler::MemAddress, bool)' as_jit.cpp:(.text+0x16a2c): undefined reference to `assembler::FloatingPointUnit::mult_double(assembler::MemAddress)' build/objects/virtual_asm_linux.o: In function `assembler::Processor::intArg64(unsigned char, unsigned char)': virtual_asm_linux.cpp:(.text+0x68): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0x84): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0xac): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0xc8): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0xe4): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' build/objects/virtual_asm_linux.o:virtual_asm_linux.cpp:(.text+0x158): more undefined references to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' follow build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)': as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)' collect2: error: ld returned 1 exit status make: *** [Makefile:1795: executables/SimulIDE_1.2.0/simulide] Error 1
####### Compiler, tools and options
CC = aarch64-linux-gnu-gcc
CXX = aarch64-linux-gnu-g++
DEFINES = -DREVNO=\""0907"\" -DAPP_VERSION=\"1.2.0\" -DBUILDDATE=\""07-09-24"\" -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CONCURRENT_LIB -DQT_SERIALPORT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB
CFLAGS = -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS = -pipe -Wno-unused-parameter -Wno-implicit-fallthrough -fno-strict-aliasing -Wno-cast-function-type -Wno-deprecated-copy -Wno-invalid-offsetof -fno-pic -Ofast -O2 -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
error:
build/objects/as_jit.o: In function `std::_Function_handler<void (assembler::JumpType, bool), asCJITCompiler::CompileFunction(asIScriptFunction*, void (**)(asSVMRegisters*, unsigned long))::{lambda(assembler::JumpType, bool)#3}>::_M_invoke(std::_Any_data const&, assembler::JumpType&&, bool&&)':
as_jit.cpp:(.text+0x3b0): undefined reference to `assembler::Register::operator=(void*)'
as_jit.cpp:(.text+0x3cc): undefined reference to `assembler::Processor::jump(assembler::JumpType, unsigned char volatile*)'
as_jit.cpp:(.text+0x3d8): undefined reference to `assembler::Processor::prep_short_jump(assembler::JumpType)'
as_jit.cpp:(.text+0x3e8): undefined reference to `assembler::Register::operator=(void*)'
as_jit.cpp:(.text+0x3f8): undefined reference to `assembler::Processor::jump(assembler::JumpType, unsigned char volatile*)'
as_jit.cpp:(.text+0x410): undefined reference to `assembler::Processor::end_short_jump(void*)'
build/objects/as_jit.o: In function `SystemCall::call_entry(asSSystemFunctionInterface*, asCScriptFunction*)':
as_jit.cpp:(.text+0xc10): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode, unsigned int)'
as_jit.cpp:(.text+0xc20): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
as_jit.cpp:(.text+0xc34): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode, unsigned int)'
as_jit.cpp:(.text+0xc48): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode, unsigned int)'
as_jit.cpp:(.text+0xc60): undefined reference to `assembler::Register::operator*() const'
as_jit.cpp:(.text+0xc70): undefined reference to `assembler::MemAddress::operator+(int)'
as_jit.cpp:(.text+0xcc4): undefined reference to `assembler::MemAddress::operator=(void*)'
as_jit.cpp:(.text+0xcd0): undefined reference to `assembler::Register::operator*() const'
as_jit.cpp:(.text+0xce0): undefined reference to `assembler::MemAddress::operator+(int)'
as_jit.cpp:(.text+0xd1c): undefined reference to `assembler::MemAddress::operator=(assembler::Register)'
as_jit.cpp:(.text+0xd30): undefined reference to `assembler::Register::operator*() const'
as_jit.cpp:(.text+0xd44): undefined reference to `assembler::MemAddress::operator+(int)'
as_jit.cpp:(.text+0xd7c): undefined reference to `assembler::Register::operator=(assembler::MemAddress)'
as_jit.cpp:(.text+0xd88): undefined reference to `assembler::Register::operator+=(unsigned int)'
as_jit.cpp:(.text+0xd94): undefined reference to `assembler::Register::operator*() const'
as_jit.cpp:(.text+0xdd8): undefined reference to `assembler::MemAddress::operator=(void*)'
as_jit.cpp:(.text+0xde4): undefined reference to `assembler::Register::operator*() const'
as_jit.cpp:(.text+0xdf4): undefined reference to `assembler::MemAddress::operator+(int)'
.......
as_jit.cpp:(.text+0x16990): undefined reference to `assembler::FloatingPointUnit::store_double(assembler::MemAddress, bool)'
as_jit.cpp:(.text+0x169d0): undefined reference to `assembler::FloatingPointUnit::sub_double(assembler::MemAddress, bool)'
as_jit.cpp:(.text+0x16a00): undefined reference to `assembler::FloatingPointUnit::div_double(assembler::MemAddress, bool)'
as_jit.cpp:(.text+0x16a2c): undefined reference to `assembler::FloatingPointUnit::mult_double(assembler::MemAddress)'
build/objects/virtual_asm_linux.o: In function `assembler::Processor::intArg64(unsigned char, unsigned char)':
virtual_asm_linux.cpp:(.text+0x68): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0x84): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0xac): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0xc8): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0xe4): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
build/objects/virtual_asm_linux.o:virtual_asm_linux.cpp:(.text+0x158): more undefined references to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' follow
build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)':
as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:1795: executables/SimulIDE_1.2.0/simulide] Error 1
Quote from arcachofo on September 7, 2024, 10:07 amHi.
Are your sources updated to the last commits?
https://github.com/Arcachofo/SimulIDE-dev
Hi.
Are your sources updated to the last commits?
https://github.com/Arcachofo/SimulIDE-dev
Quote from doo on September 7, 2024, 11:49 amyeah,DEFINES = -DREVNO=\""0907"\" -DAPP_VERSION=\"1.2.0\" -DBUILDDATE=\""07-09-24",
when i use arm,or arm-gcc on x86 ,the same bug.
Maybe my qt:
The QT installation is incomplete and the environment variables are incorrectly configured
yeah,DEFINES = -DREVNO=\""0907"\" -DAPP_VERSION=\"1.2.0\" -DBUILDDATE=\""07-09-24",
when i use arm,or arm-gcc on x86 ,the same bug.
Maybe my qt:
The QT installation is incomplete and the environment variables are incorrectly configured
Quote from arcachofo on September 7, 2024, 12:03 pmOk, can you try with last commit?
But why are you using your own options instead of default options defined in SimulIDE.pri?
Ok, can you try with last commit?
But why are you using your own options instead of default options defined in SimulIDE.pri?
Quote from doo on September 7, 2024, 12:29 pmsorry,
it is not last commit ,0907
i didn't change the SimulIDE.pri.
there no my option,only default.
new@goo-desktop:~/Desktop/SimulIDE-dev-master/build_XX$ ./opt/qt5.15.15/bin/qmake bash: ./opt/qt5.15.15/bin/qmake: No such file or directory new@goo-desktop:~/Desktop/SimulIDE-dev-master/build_XX$ /opt/qt5.15.15/bin/qmakeInfo: creating stash file /home/new/Desktop/SimulIDE-dev-master/build_XX/.qmake.stash Project MESSAGE: ----------------------------------- Project MESSAGE: Project MESSAGE: SimulIDE_1.2.0 for Linux Project MESSAGE: Project MESSAGE: Date: "07-09-24" Project MESSAGE: Qt version: 5.15.15 Project MESSAGE: Project MESSAGE: Destination Folder: Project MESSAGE: /home/new/Desktop/SimulIDE-dev-master/build_XX/executables/SimulIDE_1.2.0 Project MESSAGE: ----------------------------------- new@goo-desktop:~/Desktop/SimulIDE-dev-master/build_XX$ make -j14 。。。 virtual_asm_linux.cpp:(.text+0xc8): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0xe4): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' build/objects/virtual_asm_linux.o:virtual_asm_linux.cpp:(.text+0x158): more undefined references to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' follow build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)': as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)' collect2: error: ld returned 1 exit status make: *** [Makefile:1794: executables/SimulIDE_1.2.0/simulide] Error 1
sorry,
it is not last commit ,0907
i didn't change the SimulIDE.pri.
there no my option,only default.
new@goo-desktop:~/Desktop/SimulIDE-dev-master/build_XX$ ./opt/qt5.15.15/bin/qmake
bash: ./opt/qt5.15.15/bin/qmake: No such file or directory
new@goo-desktop:~/Desktop/SimulIDE-dev-master/build_XX$ /opt/qt5.15.15/bin/qmakeInfo: creating stash file /home/new/Desktop/SimulIDE-dev-master/build_XX/.qmake.stash
Project MESSAGE: -----------------------------------
Project MESSAGE:
Project MESSAGE: SimulIDE_1.2.0 for Linux
Project MESSAGE:
Project MESSAGE: Date: "07-09-24"
Project MESSAGE: Qt version: 5.15.15
Project MESSAGE:
Project MESSAGE: Destination Folder:
Project MESSAGE: /home/new/Desktop/SimulIDE-dev-master/build_XX/executables/SimulIDE_1.2.0
Project MESSAGE: -----------------------------------
new@goo-desktop:~/Desktop/SimulIDE-dev-master/build_XX$ make -j14
。。。
virtual_asm_linux.cpp:(.text+0xc8): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0xe4): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
build/objects/virtual_asm_linux.o:virtual_asm_linux.cpp:(.text+0x158): more undefined references to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' follow
build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)':
as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:1794: executables/SimulIDE_1.2.0/simulide] Error 1
Uploaded files:
Quote from arcachofo on September 7, 2024, 12:43 pmOk, then be sure that you get the source code from here and it is updated to the last commit (2 hours ago):
https://github.com/Arcachofo/SimulIDE-dev
Ok, then be sure that you get the source code from here and it is updated to the last commit (2 hours ago):
https://github.com/Arcachofo/SimulIDE-dev
Quote from doo on September 7, 2024, 12:49 pmi will try it. thank you.
now ,as_jit worked,but:
virtual_asm_linux.cpp error.
/opt/qt5.15.15/lib/libQt5Network.so /opt/qt5.15.15/lib/libQt5Core.so -lpthread build/objects/virtual_asm_linux.o: In function `assembler::Processor::intArg64(unsigned char, unsigned char)': virtual_asm_linux.cpp:(.text+0x68): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0x84): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0xac): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0xc8): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' virtual_asm_linux.cpp:(.text+0xe4): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' build/objects/virtual_asm_linux.o:virtual_asm_linux.cpp:(.text+0x158): more undefined references to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' follow build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)': as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)' collect2: error: ld returned 1 exit status make: *** [Makefile:1794: executables/SimulIDE_1.2.0/simulide] Error 1
i will try it. thank you.
now ,as_jit worked,but:
virtual_asm_linux.cpp error.
/opt/qt5.15.15/lib/libQt5Network.so /opt/qt5.15.15/lib/libQt5Core.so -lpthread
build/objects/virtual_asm_linux.o: In function `assembler::Processor::intArg64(unsigned char, unsigned char)':
virtual_asm_linux.cpp:(.text+0x68): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0x84): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0xac): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0xc8): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
virtual_asm_linux.cpp:(.text+0xe4): undefined reference to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)'
build/objects/virtual_asm_linux.o:virtual_asm_linux.cpp:(.text+0x158): more undefined references to `assembler::Register::Register(assembler::Processor&, assembler::RegCode)' follow
build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)':
as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:1794: executables/SimulIDE_1.2.0/simulide] Error 1
Quote from FeeLynn on September 7, 2024, 3:31 pmaarch64-linux-gnu-g++ : There is still no released virtual_asm_arm64.cpp for src/angel/JIT, but I know this work is in progress. Keep calm, I will post announce.
If you urgently need to compile SimulIDE for your platform - there was a dirty hack https://simulide.com/p/forum/topic/apple-silicon-m1-build-its-working/ - just change __APPLE__ to __UNIX__
You'll have no JIT compiling of AS, this will decrease performance of scripted elements a bit, but other things are working pretty good.
aarch64-linux-gnu-g++ : There is still no released virtual_asm_arm64.cpp for src/angel/JIT, but I know this work is in progress. Keep calm, I will post announce.
If you urgently need to compile SimulIDE for your platform - there was a dirty hack https://simulide.com/p/forum/topic/apple-silicon-m1-build-its-working/ - just change __APPLE__ to __UNIX__
You'll have no JIT compiling of AS, this will decrease performance of scripted elements a bit, but other things are working pretty good.
Quote from arcachofo on September 7, 2024, 3:41 pmi will try it. thank you.
now ,as_jit worked,but:
virtual_asm_linux.cpp error.
Ok, thanks.
Try with last commit.
i will try it. thank you.
now ,as_jit worked,but:
virtual_asm_linux.cpp error.
Ok, thanks.
Try with last commit.
Quote from doo on September 8, 2024, 3:31 amas_callfunc.o error, thanks.
/opt/qt5.15.15/lib/libQt5Core.so -lpthread build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)': as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)' collect2: error: ld returned 1 exit status make: *** [Makefile:1794: executables/SimulIDE_1.2.0/simulide] Error 1
as_callfunc.o error, thanks.
/opt/qt5.15.15/lib/libQt5Core.so -lpthread
build/objects/as_callfunc.o: In function `CallSystemFunction(int, asCContext*)':
as_callfunc.cpp:(.text+0x2b8): undefined reference to `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:1794: executables/SimulIDE_1.2.0/simulide] Error 1