aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2007-02-21 16:43:50 +0000
committerNick Clifton <nickc@redhat.com>2007-02-21 16:43:50 +0000
commit2889e75bfb63b5638dffb3bf9ae598e85af86af9 (patch)
tree9168e9b39e394aadd1093391a9a676fdec981099 /bfd
parent788594688132bc8f503e1b1345006e321a19c09a (diff)
downloadgdb-2889e75bfb63b5638dffb3bf9ae598e85af86af9.zip
gdb-2889e75bfb63b5638dffb3bf9ae598e85af86af9.tar.gz
gdb-2889e75bfb63b5638dffb3bf9ae598e85af86af9.tar.bz2
Take into account MEMORY regions when creating a segment map.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f1d2ed7..0bd6795 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-21 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (_bfd_elf_map_sections_to_segments): If the
+ override_segment_assignment callback is defined then call it.
+
2007-02-21 Alan Modra <amodra@bigpond.net.au>
* elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
diff --git a/bfd/elf.c b/bfd/elf.c
index 460502c..95f3401 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -3953,6 +3953,10 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
new_segment = FALSE;
}
+ /* Allow interested parties a chance to override our decision. */
+ if (last_hdr && info->callbacks->override_segment_assignment)
+ new_segment = info->callbacks->override_segment_assignment (info, abfd, hdr, last_hdr, new_segment);
+
if (! new_segment)
{
if ((hdr->flags & SEC_READONLY) == 0)