This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: PR middle-end/22284: [4.1 Regression] ia64 exception handling broken

This patch seems to fix PR 22284. This regression is introduced by

which sets info.ttype_base to 0. When get_ttype_entry calls

  read_encoded_value_with_base (info->ttype_encoding, info->ttype_base,
                                info->TType - i, &ptr);

info->ttype_base is 0 and leads to crash. This patch reverts the
change to info->ttype_base. I am testing it on ia32, x86_64 and ia64

2005-07-22  H.J. Lu  <>

	PR middle-end/22284
	* libsupc++/ (PERSONALITY_FUNCTION): Revert
	the change to info.ttype_base.
--- libstdc++-v3/libsupc++/	2005-07-21 22:05:49.000000000 -0700
+++ libstdc++-v3/libsupc++/	2005-07-22 10:02:57.000000000 -0700
@@ -428,7 +428,7 @@ PERSONALITY_FUNCTION (int version,
   // Parse the LSDA header.
   p = parse_lsda_header (context, language_specific_data, &info);
-  info.ttype_base = 0;
+  info.ttype_base = base_of_encoded_value (info.ttype_encoding, context);
   ip = _Unwind_GetIP (context) - 1;
   landing_pad = 0;
   action_record = 0;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]