aboutsummaryrefslogtreecommitdiff
path: root/gdb/ft32-tdep.c
diff options
context:
space:
mode:
authorjamesbowman <jamesb@excamera.com>2015-09-29 09:37:38 -0700
committerjamesbowman <jamesb@excamera.com>2015-09-29 09:37:38 -0700
commit0bcf3dd6905d67936815411b42dab6fd4c47b4db (patch)
tree8e660d5319fe9fa0bb61ed42fa4504de7015ed7b /gdb/ft32-tdep.c
parent4f714dd43efde465c7f2272ee444ccd2f1b3a1b5 (diff)
downloadgdb-0bcf3dd6905d67936815411b42dab6fd4c47b4db.zip
gdb-0bcf3dd6905d67936815411b42dab6fd4c47b4db.tar.gz
gdb-0bcf3dd6905d67936815411b42dab6fd4c47b4db.tar.bz2
Undo accidental commit
Diffstat (limited to 'gdb/ft32-tdep.c')
-rw-r--r--gdb/ft32-tdep.c45
1 files changed, 6 insertions, 39 deletions
diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c
index 0b51af3..00cf847 100644
--- a/gdb/ft32-tdep.c
+++ b/gdb/ft32-tdep.c
@@ -164,66 +164,33 @@ ft32_analyze_prologue (CORE_ADDR start_addr, CORE_ADDR end_addr,
CORE_ADDR next_addr;
ULONGEST inst, inst2;
LONGEST offset;
- int regnum, pushreg;
- struct bound_minimal_symbol msymbol;
- unsigned prologs[32];
+ int regnum;
cache->saved_regs[FT32_PC_REGNUM] = 0;
cache->framesize = 0;
- for (regnum = 0; regnum < 32; regnum++)
- {
- char prolog_symbol[32];
-
- snprintf (prolog_symbol, sizeof (prolog_symbol), "__prolog_$r%02d",
- regnum);
- msymbol = lookup_minimal_symbol (prolog_symbol, NULL, NULL);
- if (msymbol.minsym)
- prologs[regnum] = BMSYMBOL_VALUE_ADDRESS (msymbol);
- else
- prologs[regnum] = 0;
- }
-
if (start_addr >= end_addr)
- return end_addr;
+ return end_addr;
cache->established = 0;
- for (next_addr = start_addr; next_addr < end_addr;)
+ for (next_addr = start_addr; next_addr < end_addr; )
{
inst = read_memory_unsigned_integer (next_addr, 4, byte_order);
if (FT32_IS_PUSH (inst))
{
- pushreg = FT32_PUSH_REG (inst);
+ regnum = FT32_R0_REGNUM + FT32_PUSH_REG (inst);
cache->framesize += 4;
- cache->saved_regs[FT32_R0_REGNUM + pushreg] = cache->framesize;
+ cache->saved_regs[regnum] = cache->framesize;
next_addr += 4;
}
- else if (FT32_IS_CALL (inst))
- {
- for (regnum = 0; regnum < 32; regnum++)
- {
- if ((4 * (inst & 0x3ffff)) == prologs[regnum])
- {
- for (pushreg = 13; pushreg <= regnum; pushreg++)
- {
- cache->framesize += 4;
- cache->saved_regs[FT32_R0_REGNUM + pushreg] =
- cache->framesize;
- }
- next_addr += 4;
- }
- }
- break;
- }
else
break;
}
for (regnum = FT32_R0_REGNUM; regnum < FT32_PC_REGNUM; regnum++)
{
if (cache->saved_regs[regnum] != REG_UNAVAIL)
- cache->saved_regs[regnum] =
- cache->framesize - cache->saved_regs[regnum];
+ cache->saved_regs[regnum] = cache->framesize - cache->saved_regs[regnum];
}
cache->saved_regs[FT32_PC_REGNUM] = cache->framesize;