diff options
author | Alan Modra <amodra@gmail.com> | 2005-11-24 06:02:08 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-11-24 06:02:08 +0000 |
commit | 390fbbf109a72362de0ff83ee32aedfe57c71292 (patch) | |
tree | de4002fa585abff2fd2da7d660e05d4bf7949f1f /ld/emultempl | |
parent | be5291325d6402206276092e018ad6bb4210bcf0 (diff) | |
download | gdb-390fbbf109a72362de0ff83ee32aedfe57c71292.zip gdb-390fbbf109a72362de0ff83ee32aedfe57c71292.tar.gz gdb-390fbbf109a72362de0ff83ee32aedfe57c71292.tar.bz2 |
bfd/
* elf-bfd.h (_bfd_generic_match_sections_by_type): Don't define.
* libbfd-in.h (_bfd_generic_match_sections_by_type): Delete.
* libbfd.c (_bfd_generic_match_sections_by_type): Delete.
* targets.c (bfd_match_sections_by_type): Don't define.
(BFD_JUMP_TABLE_LINK): Remove _bfd_generic_match_sections_by_type.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
ld/
* ldlang.c (lang_output_section_find_by_flags): Add match_type param.
Run two passes, first using match_type, second without.
* ldlang.h (lang_match_sec_type_func): New typedef.
(lang_output_section_find_by_flags): Update prototype.
bfd_match_sections_by_type and lang_output_section_find_by_flags.
* emultempl/pe.em (place_orphan): Likewise.
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/elf32.em | 9 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index d7d2f0e..55e1663 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1362,9 +1362,9 @@ gld${EMULATION_NAME}_place_orphan (asection *s) if (os != NULL && (os->bfd_section == NULL || os->bfd_section->flags == 0 - || (bfd_match_sections_by_type (output_bfd, - os->bfd_section, - s->owner, s) + || (_bfd_elf_match_sections_by_type (output_bfd, + os->bfd_section, + s->owner, s) && ((s->flags ^ os->bfd_section->flags) & (SEC_LOAD | SEC_ALLOC)) == 0))) { @@ -1443,7 +1443,8 @@ gld${EMULATION_NAME}_place_orphan (asection *s) } after = place->os; if (after == NULL) - after = lang_output_section_find_by_flags (s, &place->os); + after = lang_output_section_find_by_flags + (s, &place->os, _bfd_elf_match_sections_by_type); if (after == NULL) /* *ABS* is always the first output section statement. */ after = &lang_output_section_statement.head->output_section_statement; diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index bcd7e32..5afa8da 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -1621,7 +1621,7 @@ gld_${EMULATION_NAME}_place_orphan (asection *s) place->os = lang_output_section_find (place->name); after = place->os; if (after == NULL) - after = lang_output_section_find_by_flags (s, &place->os); + after = lang_output_section_find_by_flags (s, &place->os, NULL); if (after == NULL) /* *ABS* is always the first output section statement. */ after = (&lang_output_section_statement.head |