This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB 7.2 gets SIGSEGV when step into a function in a shared library
On 09/15/2011 12:21 AM, Liang Cheng wrote:
Hi,
The application and library under debug were built for ARM. The
target is running Android OS,
and the host is Linux X86 64. As long as we try to step into the
function xa_fun_in_lib, it would
cause segmentation fault in gdb. Same thing happened if step the instructions.
Here are the experiments I did for this issue, and some notes.
If you are reporting a problem of gdb, please describe the problem as
clear as possible. A clean and simple debug session is helpful for
other people here to understand what is your problem. Please don't mix
the experiments or your work in the problem description.
So far I am stuck because of no idea why PC gets messed up. Anyone
else the similar issue
when trying to debug function in library? And any input to how to
investigate gdb/gdbserver side
also is appreciated. (below some other information is dumped).
Due to lack of clear steps you did in gdb, and its output, I have no
idea what the problem is and how do you get to the problem, except for
some wild guess,
> (gdb) disassemble /m 0x8d14
> Dump of assembler code for function main:
> ....
> 286 z = xa_fun_in_lib(10);
> => 0x00008d18<+84>: mov.w r0, #10
> 0x00008d1c<+88>: blx 0x8628
> 0x00008d20<+92>: mov r3, r0
> 0x00008d22<+94>: str r3, [r7, #44] ; 0x2c
How do you get SIGSEGV from here? I guess you typed `step' try to step
into xa_fun_in_lib, but get a SIGSEGV afterwards.
Last but not least, as Hui suggested, please try GDB 7.3 release or GDB
CVS trunk.
--
Yao (éå)