From 664fc5df4a28cebf52350cd4496279c53dd28f88 Mon Sep 17 00:00:00 2001 From: James E Wilson Date: Mon, 9 Feb 2004 21:20:33 +0000 Subject: [PATCH] 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 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/libsupc++/eh_personality.cc | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 35cfcc353ea..e18aff6df8b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2004-02-09 James E Wilson + + PR libstdc++/5625 + * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use + __builtin_extend_pointer. + 2004-02-09 Paolo Carlini PR libstdc++/14072 diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc index 9cf96f4b37d..4d5ae57b8d2 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); -- 2.11.4.GIT