aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/xcofflink.c11
2 files changed, 13 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 45c5784..7aecf51 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2010-02-08 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
+ max_contents_size, only consider sections whose contents must
+ be swapped in.
+
2010-02-09 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
index 118fcf2..8198e93 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