mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 20:14:06 +08:00
* s390-tdep.c (struct frame_extra_info): new member:
'stack_bought_valid'. (s390_get_frame_info): Set fextra_info->stack_bought_valid if we initialize fextra_info->stack_bought. (s390_frameless_function_invocation): Don't trust the value of fextra_info_ptr->stack_bought unless fextra_info->stack_bought_valid is set.
This commit is contained in:
parent
4bc8c58814
commit
a9dd42f197
@ -1,5 +1,13 @@
|
||||
2003-07-02 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* s390-tdep.c (struct frame_extra_info): new member:
|
||||
'stack_bought_valid'.
|
||||
(s390_get_frame_info): Set fextra_info->stack_bought_valid if we
|
||||
initialize fextra_info->stack_bought.
|
||||
(s390_frameless_function_invocation): Don't trust the value of
|
||||
fextra_info_ptr->stack_bought unless
|
||||
fextra_info->stack_bought_valid is set.
|
||||
|
||||
New S390 prologue analyzer.
|
||||
* s390-tdep.c (struct prologue_value, enum pv_boolean): New types.
|
||||
(pv_set_to_unknown, pv_set_to_constant, pv_set_to_register,
|
||||
|
@ -113,6 +113,7 @@ struct frame_extra_info
|
||||
CORE_ADDR sig_fixed_saved_pc_valid;
|
||||
CORE_ADDR sig_fixed_saved_pc;
|
||||
CORE_ADDR frame_pointer_saved_pc; /* frame pointer needed for alloca */
|
||||
CORE_ADDR stack_bought_valid;
|
||||
CORE_ADDR stack_bought; /* amount we decrement the stack pointer by */
|
||||
CORE_ADDR sigcontext;
|
||||
};
|
||||
@ -1392,6 +1393,7 @@ s390_get_frame_info (CORE_ADDR start_pc,
|
||||
|
||||
if (frame_size != -1)
|
||||
{
|
||||
fextra_info->stack_bought_valid = 1;
|
||||
fextra_info->stack_bought = frame_size;
|
||||
}
|
||||
|
||||
@ -1604,7 +1606,8 @@ s390_frameless_function_invocation (struct frame_info *fi)
|
||||
s390_get_frame_info (s390_sniff_pc_function_start (get_frame_pc (fi), fi),
|
||||
fextra_info_ptr, fi, 1);
|
||||
}
|
||||
frameless = ((fextra_info_ptr->stack_bought == 0));
|
||||
frameless = (fextra_info_ptr->stack_bought_valid
|
||||
&& fextra_info_ptr->stack_bought == 0);
|
||||
}
|
||||
return frameless;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user