runtime_loader: /boot/home/gzdoom_build/gzdoom/build/gzdoom: Troubles relocating: Bad data.
I’m encountering this on a compiled version of GZDoom 4.12.2, I compiled this in a disorganized way, I have no recipe to share. The current version of GZDoom in the depot is far too outdated. However I’m not asking about help with porting the newsest version, because for that I would need an actual replicable recipe and not just including #ifHAIKU on problematic code. I’m asking what this runtime error means? I couldn’t find any definition of it. I did manage to libzmusic succesfully however.
I’m running Haiku 64bit Nightly (hrev58000)
The binary: binary libzmusic didn’t put thought in it and not meant for distribution.
This is the runtime loader not being able to relocate some symbol. You can find the message in relocate_image, for an error in the arch-dependent version. A few lines before that you can see it comes from a relocation type we don’t understand. A very lacking description that may not be useful if, like me, you are not into how executables are linked and laid out on memory.
You can see the dynamic relocations with objdump -R. There we can find std::__once_call@GLIBCXX_3.4.11 and std::__once_callable@GLIBCXX_3.4.11 with R_X86_64_TPOFF64 type, which is not in the list. If it’s of any help, they all seem to be related to thread-local storage.