MicroBlaze QEMU skips jumps when using single steps in GDB

Bug #550863 reported by Stephan Vogt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

I'm trying to debug a MicroBlaze application (with the MicroBlaze system qemu, not the user mode qemu) using GDB. When I'm trying to single step through instructions all the branches are ignored: the program counter is just incremented by 4 (default), even for unconditional branches. This only occurs when using single step mode, everything runs as expected when using breakpoints only.

Qemu Versions tested: 0.11.0, 0.12.3, GIT version (March 29, 2010)
Qemu command used: qemu-system-microblaze -kernel test.elf -S -s

GDB Versions used: 7.1 (official MicroBlaze support), 6.5 (from Xilinx EDK 10.1), 5.3 (from Xilinx EDK 9.1)
GCC Versions used: 4.1.1 (from Xilinx EDK 11.1)

I've attached my program, it uses a custom linker script and startup code. It runs fine without using singlestep mode.

The bug looks similar to one submitted for PPC a while ago (181951).

Tags: microblaze
Revision history for this message
Stephan Vogt (stephan-vogt) wrote :
Revision history for this message
Christophe (ccoutand) wrote :

I'm having a similar issue with Qemu 0.13.0, program counter is just incremented by 4 when single stepping. I am using GDB 7.2. Stephan, did you get it to work in single step mode?

Changed in qemu:
status: New → Fix Committed
Revision history for this message
Edgar E. Iglesias (edgar-iglesias) wrote :

Hi,

I've committed a patch (that I hope fixes this problem) into the qemu git repo.

Cheers

Look for the following commit:
commit 6c5f738daec123020d32543fe90a6633a4f6643e
Author: Edgar E. Iglesias <email address hidden>
Date: Thu Feb 10 00:46:09 2011 +0100

    microblaze: Handle singlestepping over direct jmps

    Signed-off-by: Edgar E. Iglesias <email address hidden>

Revision history for this message
Christophe (ccoutand) wrote :

Thanks for the patch, so far so good...

Christophe

Aurelien Jarno (aurel32)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.