diff options
author | Alan Modra <amodra@gmail.com> | 2004-06-28 13:57:59 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2004-06-28 13:57:59 +0000 |
commit | 3722b82f100acbc3dbe63a0fd5735e7e34ce5651 (patch) | |
tree | c1b3ee35567946ab705387d54bf9f4959f387b65 /bfd/elflink.c | |
parent | 0e9157473d6c20f35838f8a1e99255ff75a3d2c7 (diff) | |
download | gdb-3722b82f100acbc3dbe63a0fd5735e7e34ce5651.zip gdb-3722b82f100acbc3dbe63a0fd5735e7e34ce5651.tar.gz gdb-3722b82f100acbc3dbe63a0fd5735e7e34ce5651.tar.bz2 |
* bfd-in.h (struct stab_info): Move from stabs.c.
* stabs.c (struct stab_link_includes_table): Delete.
(stab_link_includes_lookup): Delete.
(_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
level of indirection from sinfo parm.
(_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
stabstr section. Adjust hash table accesses.
* coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
alloc. Adjust stab_info test.
* cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
(_bfd_coff_final_link): Adjust stab_info test.
(_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
* elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
in place.
* libcoff-in.h (struct coff_link_hash_table): Likewise.
* elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
* elflink.c (bfd_elf_final_link): Don't attempt to link linker created
stabstr section. Adjust stab_info test.
* libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
(_bfd_write_stab_strings): Adjust prototypes.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
* bfd-in2.h: Regenerate.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r-- | bfd/elflink.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c index 51d20f8..7b8d252 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -4124,7 +4124,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) secdata = elf_section_data (stab); if (! _bfd_link_section_stabs (abfd, - & hash_table->stab_info, + &hash_table->stab_info, stab, stabstr, &secdata->sec_info, &string_offset)) @@ -8001,6 +8001,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) created by _bfd_elf_link_create_dynamic_sections. */ continue; } + if (elf_hash_table (info)->stab_info.stabstr == o) + continue; if (elf_hash_table (info)->eh_info.hdr_sec == o) continue; if ((elf_section_data (o->output_section)->this_hdr.sh_type @@ -8036,7 +8038,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) } /* If we have optimized stabs strings, output them. */ - if (elf_hash_table (info)->stab_info != NULL) + if (elf_hash_table (info)->stab_info.stabstr != NULL) { if (! _bfd_write_stab_strings (abfd, &elf_hash_table (info)->stab_info)) goto error_return; |