summaryrefslogtreecommitdiff
path: root/bfd/xcofflink.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2010-02-08 20:00:54 +0000
committerRichard Sandiford <rsandifo@nildram.co.uk>2010-02-08 20:00:54 +0000
commita98c2c6d6b1e90e96b6819f761e69cf29c3a4ead (patch)
tree1f2ec4527c5a3c2b0446852103136a14174cebdb /bfd/xcofflink.c
parent7052322994cb582ecdd3fa91cade93405198be3d (diff)
downloadbinutils-redhat-a98c2c6d6b1e90e96b6819f761e69cf29c3a4ead.tar.gz
bfd/
* xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating max_contents_size, only consider sections whose contents must be swapped in.
Diffstat (limited to 'bfd/xcofflink.c')
-rw-r--r--bfd/xcofflink.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
index 118fcf2e29..8198e93c20 100644
--- a/bfd/xcofflink.c
+++ b/bfd/xcofflink.c
@@ -5872,10 +5872,13 @@ _bfd_xcoff_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
o->reloc_count += sec->reloc_count;
- if (sec->rawsize > max_contents_size)
- max_contents_size = sec->rawsize;
- if (sec->size > max_contents_size)
- max_contents_size = sec->size;
+ if ((sec->flags & SEC_IN_MEMORY) == 0)
+ {
+ if (sec->rawsize > max_contents_size)
+ max_contents_size = sec->rawsize;
+ if (sec->size > max_contents_size)
+ max_contents_size = sec->size;
+ }
if (coff_section_data (sec->owner, sec) != NULL
&& xcoff_section_data (sec->owner, sec) != NULL
&& (xcoff_section_data (sec->owner, sec)->lineno_count