diff options
author | James E Wilson <wilson@specifixinc.com> | 2004-02-09 21:20:33 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2004-02-09 13:20:33 -0800 |
commit | 664fc5df4a28cebf52350cd4496279c53dd28f88 (patch) | |
tree | fefb27a59af4e680b89abfaa0cee88b37099b620 | |
parent | c76362b488fac9643f1ca0d549ea6151fd28ba5b (diff) | |
download | gcc-664fc5df4a28cebf52350cd4496279c53dd28f88.zip gcc-664fc5df4a28cebf52350cd4496279c53dd28f88.tar.gz gcc-664fc5df4a28cebf52350cd4496279c53dd28f88.tar.bz2 |
re PR libstdc++/5625 ([mips] exception unwinding creates invalid pointer on mips)
PR libstdc++/5625
* libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
__builtin_extend_pointer.
From-SVN: r77555
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/eh_personality.cc | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 35cfcc3..e18aff6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2004-02-09 James E Wilson <wilson@specifixinc.com> + + PR libstdc++/5625 + * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use + __builtin_extend_pointer. + 2004-02-09 Paolo Carlini <pcarlini@suse.de> PR libstdc++/14072 diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc index 9cf96f4..4d5ae57 100644 --- a/libstdc++-v3/libsupc++/eh_personality.cc +++ b/libstdc++-v3/libsupc++/eh_personality.cc @@ -443,8 +443,10 @@ PERSONALITY_FUNCTION (int version, } } + /* For targets with pointers smaller than the word size, we must extend the + pointer, and this extension is target dependent. */ _Unwind_SetGR (context, __builtin_eh_return_data_regno (0), - (_Unwind_Ptr) &xh->unwindHeader); + __builtin_extend_pointer (&xh->unwindHeader)); _Unwind_SetGR (context, __builtin_eh_return_data_regno (1), handler_switch_value); _Unwind_SetIP (context, landing_pad); |