mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
* section.c (bfd_section_init): Remove unnecessary initialisations.
(bfd_section_list_clear): New function. (bfd_section_list_remove, bfd_section_list_insert): New macros. (_bfd_strip_section_from_output): Use them. * coffcode.h (coff_set_alignment_hook): Likewise. * elf32-mips.c (_bfd_mips_elf_final_link): Likewise. * elf64-mips.c (mips_elf64_final_link): Likewise. * elf64-mmix.c (mmix_elf_final_link): Likewise. * sunos.c (sunos_add_dynamic_symbols): Likewise. * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. * bfd-in2.h: Regenerate. * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway rather than doing our own section handling. Clean up after errors with bfd_release and bfd_section_list_clear. Handle unexpected flags. * aoutf1.h (sunos4_core_file_p): Likewise. * aix386-core.c (aix386_core_file_p): Likewise. * cisco-core.c (cisco_core_file_validate): Likewise. * ptrace-core.c (ptrace_unix_core_file_p): Likewise. * trad-core.c (trad_unix_core_file_p): Likewise. * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors with bfd_release and bfd_section_list_clear. * hpux-core.c (hpux_core_core_file_p): Likewise. * irix-core.c (irix_core_core_file_p): Likewise. * lynx-core.c (lynx_core_file_p): Likewise. * osf-core.c (osf_core_core_file_p): Likewise. * rs6000-core.c (rs6000coff_core_p): Likewise. * sco5-core.c (sco5_core_file_p): Likewise.
This commit is contained in:
19
bfd/sunos.c
19
bfd/sunos.c
@ -1,5 +1,6 @@
|
||||
/* BFD backend for SunOS binaries.
|
||||
Copyright 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 2000, 2001
|
||||
Copyright 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
|
||||
2002
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -877,6 +878,7 @@ sunos_add_dynamic_symbols (abfd, info, symsp, sym_countp, stringsp)
|
||||
bfd *dynobj;
|
||||
struct sunos_dynamic_info *dinfo;
|
||||
unsigned long need;
|
||||
asection **ps;
|
||||
|
||||
/* Make sure we have all the required sections. */
|
||||
if (info->hash->creator == abfd->xvec)
|
||||
@ -902,17 +904,12 @@ sunos_add_dynamic_symbols (abfd, info, symsp, sym_countp, stringsp)
|
||||
want, because that one still implies that the section takes up
|
||||
space in the output file. If this is the first object we have
|
||||
seen, we must preserve the dynamic sections we just created. */
|
||||
if (abfd != dynobj)
|
||||
abfd->sections = NULL;
|
||||
else
|
||||
for (ps = &abfd->sections; *ps != NULL; )
|
||||
{
|
||||
asection *s;
|
||||
|
||||
for (s = abfd->sections;
|
||||
(s->flags & SEC_LINKER_CREATED) == 0;
|
||||
s = s->next)
|
||||
;
|
||||
abfd->sections = s;
|
||||
if (abfd != dynobj || ((*ps)->flags & SEC_LINKER_CREATED) == 0)
|
||||
bfd_section_list_remove (abfd, ps);
|
||||
else
|
||||
ps = &(*ps)->next;
|
||||
}
|
||||
|
||||
/* The native linker seems to just ignore dynamic objects when -r is
|
||||
|
Reference in New Issue
Block a user