From 40b829d425370364312abf83ab6ad6acc408acfa Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 13 Mar 2002 03:42:39 +0000 Subject: [PATCH 1/1] * elflink.h: Formatting fixes. (elf_link_output_extsym): Merge undefined and undef weak cases. --- bfd/ChangeLog | 3 +++ bfd/elflink.h | 24 ++++++++++-------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 43c326c6b6..463adc01a8 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ 2002-03-13 Alan Modra + * elflink.h: Formatting fixes. + (elf_link_output_extsym): Merge undefined and undef weak cases. + * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd when word size of input matches output word size. diff --git a/bfd/elflink.h b/bfd/elflink.h index bdd03bccda..3e8551f9a3 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -6029,10 +6029,6 @@ elf_link_output_extsym (h, data) return false; case bfd_link_hash_undefined: - input_sec = bfd_und_section_ptr; - sym.st_shndx = SHN_UNDEF; - break; - case bfd_link_hash_undefweak: input_sec = bfd_und_section_ptr; sym.st_shndx = SHN_UNDEF; @@ -8219,7 +8215,8 @@ elf_bfd_discard_info (output_bfd, info) } stab = strip ? NULL : bfd_get_section_by_name (abfd, ".stab"); - if ((! stab || elf_section_data(stab)->sec_info_type != ELF_INFO_TYPE_STABS) + if ((! stab + || elf_section_data(stab)->sec_info_type != ELF_INFO_TYPE_STABS) && ! eh && (strip || ! bed->elf_backend_discard_info)) continue; @@ -8307,8 +8304,7 @@ elf_bfd_discard_info (output_bfd, info) cookie.relend = NULL; if (eh->reloc_count) cookie.rels = (NAME(_bfd_elf,link_read_relocs) - (abfd, eh, (PTR) NULL, - (Elf_Internal_Rela *) NULL, + (abfd, eh, (PTR) NULL, (Elf_Internal_Rela *) NULL, info->keep_memory)); if (cookie.rels) { @@ -8337,9 +8333,7 @@ elf_bfd_discard_info (output_bfd, info) free (freesyms); } - if (ehdr - && _bfd_elf_discard_section_eh_frame_hdr (output_bfd, - info, ehdr)) + if (ehdr && _bfd_elf_discard_section_eh_frame_hdr (output_bfd, info, ehdr)) ret = true; return ret; } @@ -8348,6 +8342,8 @@ static boolean elf_section_ignore_discarded_relocs (sec) asection *sec; { + struct elf_backend_data *bed; + switch (elf_section_data (sec)->sec_info_type) { case ELF_INFO_TYPE_STABS: @@ -8356,10 +8352,10 @@ elf_section_ignore_discarded_relocs (sec) default: break; } - if ((get_elf_backend_data (sec->owner)->elf_backend_ignore_discarded_relocs - != NULL) - && (*get_elf_backend_data (sec->owner) - ->elf_backend_ignore_discarded_relocs) (sec)) + + bed = get_elf_backend_data (sec->owner); + if (bed->elf_backend_ignore_discarded_relocs != NULL + && (*bed->elf_backend_ignore_discarded_relocs) (sec)) return true; return false; -- 2.34.1