* mips-stub.c: Re-debugged a breakpoint problem, zbreak target
	address was a char * which caused the target instruction to not
	be fully copied, so the zbreak logic corrupted the original
	instruction and didn't insert a valid break instruction.
This commit is contained in:
Joel Sherrill
2002-08-14 22:58:30 +00:00
parent 37bb9bfd02
commit a68128530c
4 changed files with 26 additions and 4 deletions

View File

@@ -1,8 +1,15 @@
2001-03-08 Joel Sherrill <joel@OARcorp.com>
2002-08-14 Greg Menke <gregory.menke@gsfc.nasa.gov>
* mips-stub.c: Re-debugged a breakpoint problem, zbreak target
address was a char * which caused the target instruction to not
be fully copied, so the zbreak logic corrupted the original
instruction and didn't insert a valid break instruction.
2002-03-08 Joel Sherrill <joel@OARcorp.com>
* mips-stub.c: Removed warnings.
2001-03-05 Greg Menke <gregory.menke@gsfc.nasa.gov>
2002-03-05 Greg Menke <gregory.menke@gsfc.nasa.gov>
* mips-stub.c: Debugged & tweaked the gdb command processing,
zbreak stuff, breakpoint and step code. Implemented 'T' command
@@ -15,7 +22,7 @@
rtems_gdb_stub_get_offsets(): Implemented MIPS version.
* README: Updated.
2001-03-01 Joel Sherrill <joel@OARcorp.com>
2002-03-01 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: Corrected previous entry.

View File

@@ -171,7 +171,9 @@ void mips_gdb_stub_install(int enableThreads) ;
#define MEMOPT_READABLE 1
#define MEMOPT_WRITEABLE 2
#ifndef NUM_MEMSEGS
#define NUM_MEMSEGS 10
#endif
int gdbstub_add_memsegment(unsigned,unsigned,int);

View File

@@ -249,7 +249,13 @@ struct z0break
struct z0break *prev;
/* Location, preserved data */
unsigned char *address;
/* the address pointer, really, really must be a pointer to
** a 32 bit quantity (likely 64 on the R4k), so the full instruction is read &
** written. Making it a char * as on the i386 will cause
** the zbreaks to mess up the breakpoint instructions
*/
unsigned *address;
unsigned instr;
};

View File

@@ -1391,6 +1391,13 @@ int rtems_gdb_stub_get_offsets(
unsigned char **bss_addr
)
{
/*
** These are the right symbols for the desired addresses,
** but giving them causes gdb to have fits, so we leave
** the reported values as 0. Doesn't hurt the stub's
** operation as far as I've observed.
*/
/*
extern unsigned32 _ftext;
extern unsigned32 _fdata;