aboutsummaryrefslogtreecommitdiff
path: root/bfd/aoutx.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-06-13 07:58:05 +0000
committerNick Clifton <nickc@redhat.com>2001-06-13 07:58:05 +0000
commitdee0a8f47f702f416f473112badf780d38a374d6 (patch)
tree6b7381f86168cbcb262e4cd6ba736db29a7772a1 /bfd/aoutx.h
parent261def7062894a4d6f6e31848c1426d119c0c9c2 (diff)
downloadbinutils-dee0a8f47f702f416f473112badf780d38a374d6.zip
binutils-dee0a8f47f702f416f473112badf780d38a374d6.tar.gz
binutils-dee0a8f47f702f416f473112badf780d38a374d6.tar.bz2
Only pad the tesxt section if the data section is going to follow it.
Diffstat (limited to 'bfd/aoutx.h')
-rw-r--r--bfd/aoutx.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 93b939a..6119564 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -1006,10 +1006,14 @@ adjust_z_magic (abfd, execp)
}
if (abdp && abdp->zmagic_mapped_contiguous)
{
- text_pad = (obj_datasec(abfd)->vma
- - obj_textsec(abfd)->vma
- - obj_textsec(abfd)->_raw_size);
- obj_textsec(abfd)->_raw_size += text_pad;
+ asection * text = obj_textsec (abfd);
+ asection * data = obj_datasec (abfd);
+
+ text_pad = data->vma - (text->vma + text->_raw_size);
+ /* Only pad the text section if the data
+ section is going to be placed after it. */
+ if (text_pad > 0)
+ text->_raw_size += text_pad;
}
obj_datasec(abfd)->filepos = (obj_textsec(abfd)->filepos
+ obj_textsec(abfd)->_raw_size);