S390: Skip prologue using SAL information, if possible
Instead of analyzing the prologue and possibly coming to a wrong conclusion, this change tries to skip the prologue with the use of skip_prologue_using_sal. Only if that fails, the prologue analyzer is invoked as before. gdb/ChangeLog: * s390-linux-tdep.c (s390_skip_prologue): Skip the prologue using SAL, if possible.
This commit is contained in:
parent
183961935e
commit
f054145ed2
@ -1,3 +1,8 @@
|
||||
2015-03-11 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* s390-linux-tdep.c (s390_skip_prologue): Skip the prologue using
|
||||
SAL, if possible.
|
||||
|
||||
2015-03-11 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* s390-linux-nat.c (struct arch_lwp_info): New.
|
||||
|
@ -1462,7 +1462,16 @@ static CORE_ADDR
|
||||
s390_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
|
||||
{
|
||||
struct s390_prologue_data data;
|
||||
CORE_ADDR skip_pc;
|
||||
CORE_ADDR skip_pc, func_addr;
|
||||
|
||||
if (find_pc_partial_function (pc, NULL, &func_addr, NULL))
|
||||
{
|
||||
CORE_ADDR post_prologue_pc
|
||||
= skip_prologue_using_sal (gdbarch, func_addr);
|
||||
if (post_prologue_pc != 0)
|
||||
return max (pc, post_prologue_pc);
|
||||
}
|
||||
|
||||
skip_pc = s390_analyze_prologue (gdbarch, pc, (CORE_ADDR)-1, &data);
|
||||
return skip_pc ? skip_pc : pc;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user