From 5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 8 Jul 2014 16:20:48 +0100 Subject: [PATCH] This fixes PR 17110 which shows that the SH section relocation code can be called for input BFDs as well as output BFDs. PR ld/17110 * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output segments in input bfds. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-sh.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index edf983a..1a84fc5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2014-07-08 Nick Clifton + + PR ld/17110 + * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output + segments in input bfds. + 2014-07-08 Will Newton * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index 34dfea2..5085830 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -3676,7 +3676,9 @@ sh_elf_osec_to_segment (bfd *output_bfd, asection *osec) { Elf_Internal_Phdr *p = NULL; - if (output_bfd->xvec->flavour == bfd_target_elf_flavour) + if (output_bfd->xvec->flavour == bfd_target_elf_flavour + /* PR ld/17110: Do not look for output segments in an input bfd. */ + && output_bfd->direction != read_direction) p = _bfd_elf_find_segment_containing_section (output_bfd, osec); /* FIXME: Nothing ever says what this index is relative to. The kernel -- 2.7.4