diff options
author | Nick Clifton <nickc@redhat.com> | 2014-07-08 16:20:48 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-07-08 16:20:48 +0100 |
commit | 5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34 (patch) | |
tree | 3f5f24405a328d43cb7e461927ebbf2465fc2fb4 /bfd | |
parent | 792f7758e3cdbe72b82a5014d74e87e9c1ee0c3b (diff) | |
download | fsf-binutils-gdb-5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34.zip fsf-binutils-gdb-5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34.tar.gz fsf-binutils-gdb-5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34.tar.bz2 |
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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-sh.c | 4 |
2 files changed, 9 insertions, 1 deletions
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 <nickc@redhat.com> + + 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 <will.newton@linaro.org> * 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 |