diff options
author | Nick Clifton <nickc@redhat.com> | 2000-07-12 16:45:46 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2000-07-12 16:45:46 +0000 |
commit | 7f7888218f38ff55bb5a4879e2cc4bd3bdaf7f51 (patch) | |
tree | 2427b6d3b179f473fa947b3bf44b9629756d3be5 /gas/config/obj-coff.c | |
parent | 062739d1510d8ed2c1558dcd51cf958ce52855c3 (diff) | |
download | gdb-7f7888218f38ff55bb5a4879e2cc4bd3bdaf7f51.zip gdb-7f7888218f38ff55bb5a4879e2cc4bd3bdaf7f51.tar.gz gdb-7f7888218f38ff55bb5a4879e2cc4bd3bdaf7f51.tar.bz2 |
Add padding to the last section when aligning it increases its size.
Diffstat (limited to 'gas/config/obj-coff.c')
-rw-r--r-- | gas/config/obj-coff.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 018f32b..41fc595 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -1489,8 +1489,20 @@ coff_frob_section (sec) #if !defined(TICOFF) if (size & mask) { - size = (size + mask) & ~mask; - bfd_set_section_size (stdoutput, sec, size); + bfd_vma new_size; + fragS *last; + + new_size = (size + mask) & ~mask; + bfd_set_section_size (stdoutput, sec, new_size); + + /* If the size had to be rounded up, add some padding in + the last non-empty frag. */ + fragp = seg_info (sec)->frchainP->frch_root; + last = seg_info (sec)->frchainP->frch_last; + while (fragp->fr_next != last) + fragp = fragp->fr_next; + last->fr_address = size; + fragp->fr_offset += new_size - size; } #endif |