Hi. Thanks for the great profiler! I'm trying to use it in a UE5 project built for Android and deployed onto a Meta Queset VR headset. It crashes immediately with an error of the form:
java.lang.UnsatisfiedLinkError: dlopen failed: TLS symbol "(null)" in dlopened "<path>/libtracy.so" referenced from "<path>/libtracy.so" using IE access model
The dynamic linker is trying to handle the following variable from tracy_rpmalloc.cpp:
I can work around this problem by removing the tls_model attribute. Doing so fixes the crash and does not cause any other problems that I have been able to observe. However, I don't feel confident about this fix because I don't know why the specific TLS model was used in the first place.
I also tried compiling with linker flag -fvisibility=hidden. I was hoping that would hide the variable from the dynamic linker entirely, but it did not.
What would you suggest? Would the following revision to tracy_rpmalloc.cpp cause any problems that you are aware of?
Hi. Thanks for the great profiler! I'm trying to use it in a UE5 project built for Android and deployed onto a Meta Queset VR headset. It crashes immediately with an error of the form:
The dynamic linker is trying to handle the following variable from tracy_rpmalloc.cpp:
where
TLS_MODEL
is defined as:I can work around this problem by removing the
tls_model
attribute. Doing so fixes the crash and does not cause any other problems that I have been able to observe. However, I don't feel confident about this fix because I don't know why the specific TLS model was used in the first place.I also tried compiling with linker flag
-fvisibility=hidden
. I was hoping that would hide the variable from the dynamic linker entirely, but it did not.What would you suggest? Would the following revision to tracy_rpmalloc.cpp cause any problems that you are aware of?
In case it matters, here are the other defines used when building Tracy:
Thanks for your help.