diff options
author | Alan Modra <amodra@gmail.com> | 2015-10-28 17:18:13 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-10-28 17:51:10 +1030 |
commit | 199af1503922ce2134d774a78be0d9e2ae055ab1 (patch) | |
tree | dd1fcec6689ca3acbd5ef488fc0f5db79581fb1e /bfd/tekhex.c | |
parent | 26656b1dc6c00f2eea0d329cc2637aebf3da1458 (diff) | |
download | gdb-199af1503922ce2134d774a78be0d9e2ae055ab1.zip gdb-199af1503922ce2134d774a78be0d9e2ae055ab1.tar.gz gdb-199af1503922ce2134d774a78be0d9e2ae055ab1.tar.bz2 |
Orphan output section with multiple input sections
If given input sections with differing flags, we'd like to place the
section according to the final output section flags.
bfd/
PR ld/19162
* elflink.c (_bfd_elf_gc_mark_reloc): Move code iterating over
linker input bfds..
* section.c (bfd_get_next_section_by_name): ..to here. Add ibfd param.
(bfd_get_linker_section): Adjust bfd_get_next_section_by_name call.
* tekhex.c (first_phase): Likewise.
* elflink.c (bfd_elf_gc_sections): Likewise.
* bfd-in2.h: Regenerate.
ld/
PR ld/19162
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Check flags
before calling _bfd_elf_match_sections_by_type. Merge flags for
any other input sections that might match a new output section to
decide placement.
Diffstat (limited to 'bfd/tekhex.c')
-rw-r--r-- | bfd/tekhex.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/bfd/tekhex.c b/bfd/tekhex.c index ccc68f9..951c327 100644 --- a/bfd/tekhex.c +++ b/bfd/tekhex.c @@ -459,7 +459,8 @@ first_phase (bfd *abfd, int type, char *src, char * src_end) else { if (alt_section == NULL) - alt_section = bfd_get_next_section_by_name (section); + alt_section + = bfd_get_next_section_by_name (NULL, section); if (alt_section == NULL) alt_section = bfd_make_section_anyway_with_flags (abfd, section->name, @@ -476,7 +477,8 @@ first_phase (bfd *abfd, int type, char *src, char * src_end) else { if (alt_section == NULL) - alt_section = bfd_get_next_section_by_name (section); + alt_section + = bfd_get_next_section_by_name (NULL, section); if (alt_section == NULL) alt_section = bfd_make_section_anyway_with_flags (abfd, section->name, |