diff options
author | Alan Modra <amodra@gmail.com> | 2005-07-08 06:20:06 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-07-08 06:20:06 +0000 |
commit | c456f0829fef883581694547d21b7183cdbaa3d6 (patch) | |
tree | f41fc7cbe0c697de89463390ff7baf60c0c384c9 /bfd/elf32-hppa.c | |
parent | * frags.h: Remove ANSI_PROTOTYPES conditional code. (diff) | |
download | binutils-gdb-c456f0829fef883581694547d21b7183cdbaa3d6.tar.gz binutils-gdb-c456f0829fef883581694547d21b7183cdbaa3d6.tar.bz2 binutils-gdb-c456f0829fef883581694547d21b7183cdbaa3d6.zip |
* elf-hppa.h (elf_hppa_final_link): Use gp val of zero when none
of the usual sections are found.
* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Tidy.
Strip .dynbss if it is zero size.
* elf32-arm.c (elf32_arm_size_dynamic_sections): Likewise.
* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise, and
.dynsbss.
(i370_elf_finish_dynamic_sections): Don't attempt to write .got
when it is zero size.
* elf32-i386.c (elf_i386_size_dynamic_sections): Correct handling
of .dynbss and zero size sections.
* elf32-m32r.c (m32r_elf_size_dynamic_sections): Strip .dynbss if
it is zero size.
* elf32-m68k.c (elf_m68k_size_dynamic_sections): Tidy. Strip
.dynbss if zero size.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise, .dynsbss
too.
* elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Tidy. Strip
.plt.* and .got.plt.* if zero size.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Tidy. Strip
.got* and .dynbss if zero size.
* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Tidy. Strip
* elf64-ppc.c (create_linkage_sections): Create branch lookup table
in .data.rel.ro.brlt or .rodata.brlt, and similarly for associated
reloc section.
(create_got_section): Always create new .got and .rela.got sections.
(ppc64_elf_size_dynamic_sections): Tidy. Strip .dynbss if zero size.
* elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Handle
dynamic bss sections correctly.
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Tidy.
* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Tidy. Strip
.dynbss if zero size.
Diffstat (limited to 'bfd/elf32-hppa.c')
-rw-r--r-- | bfd/elf32-hppa.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index a9d04f078e4..9318e6a6bcf 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -2274,7 +2274,8 @@ elf32_hppa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, sec->size = (sec->size + sizeof (plt_stub) + mask) & ~mask; } } - else if (sec == htab->sgot) + else if (sec == htab->sgot + || sec == htab->sdynbss) ; else if (strncmp (bfd_get_section_name (dynobj, sec), ".rela", 5) == 0) { @@ -2311,10 +2312,13 @@ elf32_hppa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, continue; } + if ((sec->flags & SEC_HAS_CONTENTS) == 0) + continue; + /* Allocate memory for the section contents. Zero it, because we may not fill in all the reloc sections. */ sec->contents = bfd_zalloc (dynobj, sec->size); - if (sec->contents == NULL && sec->size != 0) + if (sec->contents == NULL) return FALSE; } |