From 0838d2ac72ee48c60ff25beeb4ec9175644aca4e Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Sun, 15 Apr 2007 22:02:25 +0000 Subject: [PATCH] * config/tc-sh.c (align_test_frag_offset_fixed_p): Handle rs_fill frags. --- gas/ChangeLog | 5 +++++ gas/config/tc-sh.c | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 246917b7588..2822c529add 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2007-04-15 Kaz Kojima + + * config/tc-sh.c (align_test_frag_offset_fixed_p): Handle + rs_fill frags. + 2007-04-14 Steve Ellcey * Makefile.am: Add ACLOCAL_AMFLAGS. diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index 6cb9c93bc45..3af26a958e6 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -847,9 +847,13 @@ align_test_frag_offset_fixed_p (const fragS *frag1, const fragS *frag2, /* Maybe frag2 is after frag1. */ frag = frag1; - while (frag->fr_type == rs_align_test) + while (frag->fr_type == rs_fill + || frag->fr_type == rs_align_test) { - off += frag->fr_fix; + if (frag->fr_type == rs_fill) + off += frag->fr_fix + frag->fr_offset * frag->fr_var; + else + off += frag->fr_fix; frag = frag->fr_next; if (frag == NULL) break; @@ -863,9 +867,13 @@ align_test_frag_offset_fixed_p (const fragS *frag1, const fragS *frag2, /* Maybe frag1 is after frag2. */ off = frag1->fr_address - frag2->fr_address; frag = frag2; - while (frag->fr_type == rs_align_test) + while (frag->fr_type == rs_fill + || frag->fr_type == rs_align_test) { - off -= frag->fr_fix; + if (frag->fr_type == rs_fill) + off -= frag->fr_fix + frag->fr_offset * frag->fr_var; + else + off -= frag->fr_fix; frag = frag->fr_next; if (frag == NULL) break; -- 2.30.2