box64 icon indicating copy to clipboard operation
box64 copied to clipboard

Error: PltResolver: Symbol _obstack_begin(ver 3: _obstack_begin@GLIBC_2.2.5) not found, cannot apply R_X86_64_JUMP_SLOT

Open hamiqw opened this issue 3 years ago • 5 comments

I'm a beginner and trying to use box64 to run SPEC CPU 2006 benchmark. I uploaded a sub test set(SPECCPU2006/benchspec/CPU2006/403.gcc/run/run_base_ref_gcc43-64bit.0000) to ARMv8-AArch64 machine, and used box64 to run it, but this error occured:

box64 ../gcc_base.gcc43-64bit 166.in -o 166.s ... Error: PltResolver: Symbol _obstack_begin(ver 3: _obstack_begin@GLIBC_2.2.5) not found, cannot apply R_X86_64_JUMP_SLOT 0x93d0b8 (0x401606) in run_base_ref_gcc43-64bit.0000/gcc_base.gcc43-64bit

_obstack_begin seems to be a function in the obstack library, is this error caused by not wrapping the obstack library in box64? the version of box64 is 0.1.6

hamiqw avatar Jul 19 '22 15:07 hamiqw

this _obstack_begin function is now wrapped on box64, so you should update it.

ptitSeb avatar Jul 19 '22 15:07 ptitSeb

I downloaded box-0.1.9 ZIP and tried again, but still got the same error:

#box64 /home/test/run_base_ref_gcc43-64bit.0000/gcc_base.gcc43-64bit 166.in -o 166.s Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Box64 with Dynarec v0.1.9 built on Jul 20 2022 09:34:53 Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/ Counted 23 Env var Looking for /home/test/run_base_ref_gcc43-64bit.0000/gcc_base.gcc43-64bit argv[1]="166.in" argv[2]="-o" argv[3]="166.s" Rename process to "gcc_base.gcc43-64bit" Using native(wrapped) libc.so.6 Using native(wrapped) ld-linux-x86-64.so.2 Using native(wrapped) libpthread.so.0 Using native(wrapped) librt.so.1 Error: PltResolver: Symbol _obstack_begin(ver 3: _obstack_begin@GLIBC_2.2.5) not found, cannot apply R_X86_64_JUMP_SLOT 0x93d0b8 (0x401606) in /home/test/run_base_ref_gcc43-64bit.0000/gcc_base.gcc43-64bit

hamiqw avatar Jul 20 '22 02:07 hamiqw

SPEC CPU 2006 can only be compiled with gcc-4.9 and below. gcc-4.8.5 is used in the above case. Could it be because the gcc version is too low?

hamiqw avatar Jul 20 '22 02:07 hamiqw

Oh, the functions are coded but the wrapper not set, my mystake. I have some work left to do on box64.

ptitSeb avatar Jul 20 '22 06:07 ptitSeb

thanks for your reply(^_^). By the way, box64 is indeed a great but hard work

hamiqw avatar Jul 20 '22 07:07 hamiqw