diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2005-10-24 01:40:58 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2005-10-24 01:40:58 +0000 |
commit | ccd2ec6a8718548c570e4dead571af5c6ba0e2e3 (patch) | |
tree | 874fe3c835590d942e7ee80207867794ed806ab4 /ld/emultempl | |
parent | 167cadb67eb4592e39a307973d0cb14a2137f964 (diff) | |
download | gdb-ccd2ec6a8718548c570e4dead571af5c6ba0e2e3.zip gdb-ccd2ec6a8718548c570e4dead571af5c6ba0e2e3.tar.gz gdb-ccd2ec6a8718548c570e4dead571af5c6ba0e2e3.tar.bz2 |
bfd/
2005-10-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1487
* elf-bfd.h (_bfd_generic_init_private_section_data): New.
(_bfd_elf_init_private_section_data): New.
* elf.c (elf_fake_sections): Don't set SHF_GROUP for
relocatable link.
(bfd_elf_set_group_contents): Don't handle relocatable link
specially.
(assign_section_numbers): If it isn't called by assembler,
use the output section of elf_linked_to_section for
SHF_LINK_ORDER.
(_bfd_elf_init_private_section_data): New.
(_bfd_elf_copy_private_section_data): Call it.
* libbfd-in.h (_bfd_generic_init_private_section_data): New.
* libbfd.c (_bfd_generic_init_private_section_data): New.
* targets.c (BFD_JUMP_TABLE_COPY): Add
_bfd_generic_init_private_section_data.
(bfd_init_private_section_data): Likewise.
* bfd-in2.h: Regenerated.
* libbfd.h: Likewise.
ld/
2005-10-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1487
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
bfd_match_sections_by_type to match section types.
* ldlang.c (init_os): Take the input section. Call
bfd_init_private_section_data if the input section isn't NULL.
(exp_init_os): Pass NULL to init_os.
(map_input_to_output_sections): Likewise.
(lang_add_section): Pass the input section to init_os.
ld/testsuite/
2005-10-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1487
* ld-ia64/tlspic.rd: Updated.
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/elf32.em | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index e1e37f1..0425d15 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1363,8 +1363,9 @@ gld${EMULATION_NAME}_place_orphan (lang_input_statement_type *file, asection *s) if (os != NULL && (os->bfd_section == NULL || os->bfd_section->flags == 0 - || ((!iself - || sh_type == elf_section_type (os->bfd_section)) + || (bfd_match_sections_by_type (output_bfd, + os->bfd_section, + s->owner, s) && ((s->flags ^ os->bfd_section->flags) & (SEC_LOAD | SEC_ALLOC)) == 0))) { |