You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to get Tracy targeting an embedded linux target, after building successfully and deploying my binary and running it, I get a SIGILL error. Running with GDB I get the following:
(gdb) run
Starting program: /root/a
warning: File "/lib/libthread_db-1.0.so" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /lib/libthread_db-1.0.so
line to your configuration file "/root/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/root/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
Program received signal SIGILL, Illegal instruction.
0x000f232c in tracy::get_thread_id() ()
(gdb)
Showing the assembly, it's this instruction that appears to be problematic:
I'm not sure exactly why it's an illegal instruction, i'm no expert in ARM assembly. My target platform has the following:
# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 4 (v5l)
BogoMIPS : 199.06
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 4
Is it possible the problematic assembly isn't supported on my version of ARM?
The text was updated successfully, but these errors were encountered:
Access to some of the registers through the mrc/mrs instruction may be restricted to kernel space, depending on the kernel configuration. See 5fbb811 for an example of how this was handled by Tracy some time ago in code that has since been removed.
Please create an issue for rpmalloc. It doesn't seem necessary to resort to assembly hacks to get a thread id (usually a gettid() call). At least a compatible fallback should be available, in my opinion.
I'm trying to get Tracy targeting an embedded linux target, after building successfully and deploying my binary and running it, I get a SIGILL error. Running with GDB I get the following:
Showing the assembly, it's this instruction that appears to be problematic:
0xf232c <_ZN5tracyL13get_thread_idEv+12> mrc 15, 0, r3, cr13, cr0, {3}
I'm not sure exactly why it's an illegal instruction, i'm no expert in ARM assembly. My target platform has the following:
Is it possible the problematic assembly isn't supported on my version of ARM?
The text was updated successfully, but these errors were encountered: