mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-10 08:02:20 +08:00
One step closer.
This commit is contained in:
@ -89,7 +89,6 @@ gmalloc.h
|
|||||||
gould-pinsn.c
|
gould-pinsn.c
|
||||||
gould-xdep.c
|
gould-xdep.c
|
||||||
h8300-tdep.c
|
h8300-tdep.c
|
||||||
hds-tdep.c
|
|
||||||
hp300ux-xdep.c
|
hp300ux-xdep.c
|
||||||
i386-pinsn.c
|
i386-pinsn.c
|
||||||
i386-stub.c
|
i386-stub.c
|
||||||
@ -150,6 +149,7 @@ regex.h
|
|||||||
rem-multi.shar
|
rem-multi.shar
|
||||||
remote-adapt.c
|
remote-adapt.c
|
||||||
remote-eb.c
|
remote-eb.c
|
||||||
|
remote-hds.c
|
||||||
remote-mm.c
|
remote-mm.c
|
||||||
remote-nindy.c
|
remote-nindy.c
|
||||||
remote-vx.c
|
remote-vx.c
|
||||||
|
@ -1,10 +1,30 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include "defs.h"
|
||||||
|
|
||||||
|
/* an easy to debug H8 stack frame looks like:
|
||||||
|
0x6df2 push r2
|
||||||
|
0x6df3 push r3
|
||||||
|
0x6df6 push r6
|
||||||
|
0x mov.w r7,r6
|
||||||
|
subs stuff,sp mov.w #x,r5
|
||||||
|
subs r5,sp
|
||||||
|
|
||||||
|
*/
|
||||||
|
#define IS_PUSH(x) ((x & 0xff00)==0x6d00)
|
||||||
|
CORE_ADDR h8300_skip_prologue(start_pc)
|
||||||
|
CORE_ADDR start_pc;
|
||||||
|
|
||||||
h8300_skip_prologue()
|
|
||||||
{
|
{
|
||||||
|
/* Skip past all push insns */
|
||||||
|
short int w;
|
||||||
|
|
||||||
printf("skip prologue\n");
|
w = read_memory_integer(start_pc, 2);
|
||||||
|
while (IS_PUSH(w))
|
||||||
abort();
|
{
|
||||||
|
start_pc+=2;
|
||||||
|
w = read_memory_integer(start_pc, 2);
|
||||||
|
}
|
||||||
|
return start_pc;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -14,19 +34,26 @@ h8300_pop_frame()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print_insn()
|
int
|
||||||
|
print_insn(memaddr, stream)
|
||||||
|
CORE_ADDR memaddr;
|
||||||
|
FILE *stream;
|
||||||
{
|
{
|
||||||
printf("print insn\n");
|
/* Nothing is bigger than 8 bytes */
|
||||||
|
char data[8];
|
||||||
|
read_memory (memaddr, data, sizeof(data));
|
||||||
|
return print_insn_h8300(memaddr, data , stream);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FRAME_CHAIN()
|
FRAME_CHAIN()
|
||||||
{
|
{
|
||||||
|
|
||||||
printf("Frame chain\n");
|
printf("Frame chain\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ read_memory_integer (read_register (SP_REGNUM), 2)
|
|||||||
|
|
||||||
/* Say how long registers are. */
|
/* Say how long registers are. */
|
||||||
|
|
||||||
#define REGISTER_TYPE short
|
#define REGISTER_TYPE unsigned short
|
||||||
|
|
||||||
# define NUM_REGS 10
|
# define NUM_REGS 10
|
||||||
# define REGISTER_BYTES (10*2)
|
# define REGISTER_BYTES (10*2)
|
||||||
@ -262,3 +262,6 @@ read_memory_integer (read_register (SP_REGNUM), 2)
|
|||||||
|
|
||||||
#define POP_FRAME { h8300_pop_frame (); }
|
#define POP_FRAME { h8300_pop_frame (); }
|
||||||
|
|
||||||
|
|
||||||
|
#define BEFORE_MAIN_LOOP_HOOK \
|
||||||
|
hms_before_main_loop();
|
||||||
|
Reference in New Issue
Block a user