[PATCH] ia64: ensure unwind records' t coordinate gets set
Jan Beulich
JBeulich@novell.com
Mon May 23 08:03:00 GMT 2005
This prevents premature removal of unwind records from the pending list,
ensuring they get their t coordinate set correctly.
Built and tested on ia64-unknown-linux-gnu.
Jan
gas/
2005-05-23 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (emit_one_bundle): Check all in-use slots for
first with non-NULL unwind_record.
--- /home/jbeulich/src/binutils/mainline/2005-05-18/gas/config/tc-ia64.c 2005-05-09 08:31:38.000000000 +0200
+++ 2005-05-18/gas/config/tc-ia64.c 2005-05-20 17:11:14.812836238 +0200
@@ -6544,9 +6488,10 @@ emit_one_bundle ()
issued. This matters because there may have been nops emitted
meanwhile. Any non-prologue non-body record followed by a
prologue/body record must also refer to the current point. */
- last_ptr = NULL;
- end_ptr = md.slot[(curr + 1) % NUM_SLOTS].unwind_record;
- for (; ptr != end_ptr; ptr = ptr->next)
+ end_ptr = NULL;
+ for (j = 1; end_ptr == NULL && j < md.num_slots_in_use; ++j)
+ end_ptr = md.slot[(curr + j) % NUM_SLOTS].unwind_record;
+ for (last_ptr = NULL; ptr != end_ptr; ptr = ptr->next)
if (ptr->r.type == prologue || ptr->r.type == prologue_gr
|| ptr->r.type == body)
last_ptr = ptr;
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: binutils-mainline-ia64-unwind-assoc.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20050523/6dda6ae8/attachment.ksh>
More information about the Binutils
mailing list