From: Nick Clifton Date: Tue, 8 Jul 2014 15:20:48 +0000 (+0100) Subject: This fixes PR 17110 which shows that the SH section relocation code can be called X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34;p=binutils-gdb.git 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index edf983ae319..1a84fc5ea84 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 34dfea2197e..5085830d8af 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