* write.c (subsegs_finish): For SEC_MERGE sections pad last fragment
to entsize.
This commit is contained in:
parent
947216bf8f
commit
381a1ab30c
2 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-11-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* write.c (subsegs_finish): For SEC_MERGE sections pad last fragment
|
||||
to entsize.
|
||||
|
||||
2002-11-26 DJ Delorie <dj@redhat.com.
|
||||
|
||||
* dwarf2dbg.c (scale_addr_delta): New.
|
||||
|
|
20
gas/write.c
20
gas/write.c
|
@ -1409,7 +1409,25 @@ subsegs_finish ()
|
|||
any alignment is meaningless, and, moreover, will look weird
|
||||
if we are generating a listing. */
|
||||
if (!had_errors ())
|
||||
alignment = SUB_SEGMENT_ALIGN (now_seg, frchainP);
|
||||
{
|
||||
alignment = SUB_SEGMENT_ALIGN (now_seg, frchainP);
|
||||
#ifdef BFD_ASSEMBLER
|
||||
if ((bfd_get_section_flags (now_seg->owner, now_seg) & SEC_MERGE)
|
||||
&& now_seg->entsize)
|
||||
{
|
||||
unsigned int entsize = now_seg->entsize;
|
||||
int entalign = 0;
|
||||
|
||||
while ((entsize & 1) == 0)
|
||||
{
|
||||
++entalign;
|
||||
entsize >>= 1;
|
||||
}
|
||||
if (entalign > alignment)
|
||||
alignment = entalign;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (subseg_text_p (now_seg))
|
||||
frag_align_code (alignment, 0);
|
||||
|
|
Loading…
Reference in a new issue