This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

single stepping mips remote programs built with gcc 4.0


Hi, I have a version of gdb from CVS on 8/29/2005.  I have configured with the target as mips-elf and the host as cygwin and I am using it to connect to a remote mips system.  All of my programs I am trying to run remotely have been built with GCC 4+.  I am single stepping through code where part of it consists of something like the following in the disassembly listing:

00003dac <initialize()>:
00003dac:	24040001 	li	a0,1
00003db0:	08000deb 	j	000037ac <setArraySize(int, int)>
00003db4:	24050001 	li	a1,1

00003db8 <getCurrentBuffer2(int&)>:
00003db8:	3c02bd00 	lui	v0,0xbd00

When stopped at the beginning of the function, I can tell by looking at the remote protocol debug output that a breakpoint is being set in memory at the location of getCurrentBuffer2, not setArraySize.  We suspect that this may have to do with GCC 4+ doing straight jumps to other functions and not jump and link followed by jump register to leave the function.  Has anyone else encountered this or found a solution? 

Thank you,

Sarah Newman


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]