[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] gdb and qemu-system-aarch64 setup - breakpoint not reache

From: Raghunath Lolur
Subject: [Qemu-discuss] gdb and qemu-system-aarch64 setup - breakpoint not reached
Date: Fri, 8 Aug 2014 02:15:06 +0530

Dear All,

I am using qemu-system emulator (qemu-system-aarch64) and gdb
(aarch64-linux-gnu-gdb) to debug a c program, both running on the same
system, i686-pc-linux-gnu on Ubuntu 12.04 LTS. However, with the gdb,
if I set a breakpoint and issue 'continue' command, it shows
continuing....and never reaches the breakpoint set.

I am requesting help towards understanding the problem and resolving
it. Thanks in advance.

Qemu version: 2.0.50 and gdb version : 7.8

The steps I followed to set up debugging aarch64 program in qemu-system are:

Terminal 1
$ cd /home/user1/qemu-aarch64/qemu.

./aarch64-softmmu/qemu-system-aarch64 -machine virt -cpu cortex-a57
-machine type=virt -nographic -smp 1 -m 2047 -kernel
../linux.git/arch/arm64/boot/Image -s -S

Now, the execution freezes and I presume qemu along with gdbserver is
listening on port 1234

Terminal 2

$ export PATH=/home/user1/aarch64-crossbuild-gcc4.9.1/install/bin:$PATH

$ aarch64-linux-gnu-gcc adds2.c  -g --save-temps -o adds2-output

The source file adds2.c (available at

code snippet of adds2.c
 86 int main ()
 87 {
 88   int x;
 89   s64 y;
 91   x = adds_si_test1 (29, 4, 5);
 92   if (x != 42)
 93     abort ();
 95   x = adds_si_test1 (5, 2, 20);


#Invoking cross gdb

$ aarch64-linux-gnu-gdb
... some intro and copyright messages .....

This GDB was configured as "--host=i686-pc-linux-gnu --target=aarch64-linux-gnu"

(gdb) set sysroot /home/user1/aarch64-crossbuild-gcc4.9.1/sysroot

(gdb) set solib-absolute-prefix /home/user1/aarch64-crossbuild-gcc4.9.1/sysroot

(gdb) file ./adds2-output
Reading symbols from ./adds2-output...done.

(gdb) target remote localhost:1234
Remote debugging using localhost:1234
Reading symbols from
Loaded symbols for
0x0000000040000000 in _start ()

(gdb) b adds2.c:92
Breakpoint 1 at 0x400700: file adds2.c, line 91.

(gdb) info registers
x0             0x0    0
x1             0x0    0
........x2..x29...are set to 0
x30            0x0    0
sp             0x0    0x0
pc             0x40000000    0x40000000 <_start>
cpsr           0x400003c5    1073742789
fpsr           0x0    0
fpcr           0x0    0

(gdb) c

After waiting for ~approx 20 mins, I pressed <ctrl+c>
Program received signal SIGINT, Interrupt.
0xffffffc000092a88 in ?? ()

In case, if more info is needed, I will be happy to provide it.

Thanks & Best Regards,
Raghunath Lolur.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]