I was reminded about this from a comment on the list, where a new developer had gotten confused by our backtrace.
Changes from V1 to V2: * Rebase to master. * Do not try to allocate the ELF stuff within the code_gen_buffer. Instead we can use a SHT_NOBITS trick to say that's out-of-line. * Use C structures (with alignment and packing annotations) to create the Dwarf2 unwind info. Previously I had used inline assembly. Example: Breakpoint 1, helper_idivl_EAX (t0=512) at /home/rth/work/qemu/qemu/target-i386/op_helper.c:1882 1882 { (gdb) where #0 helper_idivl_EAX (t0=512) at /home/rth/work/qemu/qemu/target-i386/op_helper.c:1882 #1 0x00005555557c0fdf in static_code_gen_buffer () #2 0x000055555559714d in cpu_x86_exec (env=0x5555577fba30) at /home/rth/work/qemu/qemu/cpu-exec.c:564 #3 0x00005555555b3290 in cpu_loop (env=0x5555577fba30) at /home/rth/work/qemu/qemu/linux-user/main.c:317 #4 0x00005555555b40a4 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /home/rth/work/qemu/qemu/linux-user/main.c:3826 r~ Richard Henderson (1): tcg: Use the GDB JIT debugging interface. elf.h | 1 + exec.c | 1 + tcg/i386/tcg-target.c | 114 ++++++++++++++++++++++++++-- tcg/tcg.c | 194 +++++++++++++++++++++++++++++++++++++++++++++++++ tcg/tcg.h | 2 + 5 files changed, 303 insertions(+), 9 deletions(-) -- 1.7.7.6