mirror of git://gcc.gnu.org/git/gcc.git
unwind-ia64.c (uw_install_context): Manually save LC if it hasn't been previously saved.
* config/ia64/unwind-ia64.c (uw_install_context): Manually save LC if it hasn't been previously saved. From-SVN: r186045
This commit is contained in:
parent
71bb37ba99
commit
9a9dcce8e8
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* config/ia64/unwind-ia64.c (uw_install_context): Manually save LC
|
||||||
|
if it hasn't been previously saved.
|
||||||
|
|
||||||
2012-03-29 H.J. Lu <hongjiu.lu@intel.com>
|
2012-03-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Define
|
* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Define
|
||||||
|
|
|
||||||
|
|
@ -2169,8 +2169,20 @@ uw_install_context (struct _Unwind_Context *current __attribute__((unused)),
|
||||||
struct _Unwind_Context *target)
|
struct _Unwind_Context *target)
|
||||||
{
|
{
|
||||||
unw_word ireg_buf[4], ireg_nat = 0, ireg_pr = 0;
|
unw_word ireg_buf[4], ireg_nat = 0, ireg_pr = 0;
|
||||||
|
unw_word saved_lc;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
/* ??? LC is a fixed register so the call to __builtin_unwind_init in
|
||||||
|
uw_init_context doesn't cause it to be saved. In case it isn't in
|
||||||
|
the user frames either, we need to manually do so here, lest it be
|
||||||
|
clobbered by the loop just below. */
|
||||||
|
if (target->lc_loc == NULL)
|
||||||
|
{
|
||||||
|
register unw_word lc asm ("ar.lc");
|
||||||
|
saved_lc = lc;
|
||||||
|
target->lc_loc = &saved_lc;
|
||||||
|
}
|
||||||
|
|
||||||
/* Copy integer register data from the target context to a
|
/* Copy integer register data from the target context to a
|
||||||
temporary buffer. Do this so that we can frob AR.UNAT
|
temporary buffer. Do this so that we can frob AR.UNAT
|
||||||
to get the NaT bits for these registers set properly. */
|
to get the NaT bits for these registers set properly. */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue