From 9ea2b9423ff6fdf5ff6a57d9bfe787c67d396bfe Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 8 Feb 2010 20:00:54 +0000 Subject: [PATCH] bfd/ * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating max_contents_size, only consider sections whose contents must be swapped in. --- bfd/ChangeLog | 6 ++++++ bfd/xcofflink.c | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 45c57849346..7aecf512230 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2010-02-08 Richard Sandiford + + * 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 * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here.. diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 118fcf2e295..8198e93c205 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 -- 2.30.2