comparison gcc/unwind-c.c @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
118 struct _Unwind_Exception *ue_header, 118 struct _Unwind_Exception *ue_header,
119 struct _Unwind_Context *context) 119 struct _Unwind_Context *context)
120 #endif 120 #endif
121 { 121 {
122 lsda_header_info info; 122 lsda_header_info info;
123 const unsigned char *language_specific_data, *p, *action_record; 123 const unsigned char *language_specific_data, *p;
124 _Unwind_Ptr landing_pad, ip; 124 _Unwind_Ptr landing_pad, ip;
125 int ip_before_insn = 0; 125 int ip_before_insn = 0;
126 126
127 #ifdef __ARM_EABI_UNWINDER__ 127 #ifdef __ARM_EABI_UNWINDER__
128 if ((state & _US_ACTION_MASK) != _US_UNWIND_FRAME_STARTING) 128 if ((state & _US_ACTION_MASK) != _US_UNWIND_FRAME_STARTING)
179 while (--ip); 179 while (--ip);
180 180
181 /* Can never have null landing pad for sjlj -- that would have 181 /* Can never have null landing pad for sjlj -- that would have
182 been indicated by a -1 call site index. */ 182 been indicated by a -1 call site index. */
183 landing_pad = (_Unwind_Ptr)cs_lp + 1; 183 landing_pad = (_Unwind_Ptr)cs_lp + 1;
184 if (cs_action)
185 action_record = info.action_table + cs_action - 1;
186 goto found_something; 184 goto found_something;
187 } 185 }
188 #else 186 #else
189 /* Search the call-site table for the action associated with this IP. */ 187 /* Search the call-site table for the action associated with this IP. */
190 while (p < info.action_table) 188 while (p < info.action_table)
203 p = info.action_table; 201 p = info.action_table;
204 else if (ip < info.Start + cs_start + cs_len) 202 else if (ip < info.Start + cs_start + cs_len)
205 { 203 {
206 if (cs_lp) 204 if (cs_lp)
207 landing_pad = info.LPStart + cs_lp; 205 landing_pad = info.LPStart + cs_lp;
208 if (cs_action)
209 action_record = info.action_table + cs_action - 1;
210 goto found_something; 206 goto found_something;
211 } 207 }
212 } 208 }
213 #endif 209 #endif
214 210