From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40428) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S9iCs-0006Jz-GV for qemu-devel@nongnu.org; Mon, 19 Mar 2012 15:25:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S9iCn-0001FA-RV for qemu-devel@nongnu.org; Mon, 19 Mar 2012 15:25:26 -0400 Received: from mail-yx0-f173.google.com ([209.85.213.173]:39000) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S9iCn-0001El-K8 for qemu-devel@nongnu.org; Mon, 19 Mar 2012 15:25:21 -0400 Received: by yenr5 with SMTP id r5so6699506yen.4 for ; Mon, 19 Mar 2012 12:25:20 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Mon, 19 Mar 2012 12:25:10 -0700 Message-Id: <1332185111-20739-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH v2] Use the GDB JIT debugging interface List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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=, argv=, envp=) 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