From a4d8e49b5087fc4ed7392b451d506ee6a643bae1 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 25 Jul 2005 15:35:37 +0000 Subject: 2005-07-25 H.J. Lu * elf-bfd.h (elf_backend_data): Add common_definition, common_section_index, common_section, and merge_symbol. (_bfd_elf_common_definition): New. (_bfd_elf_common_section_index): New. (_bfd_elf_common_section): New. * elf.c (elf_fake_sections): Don't clear sh_flags. * elflink.c (_bfd_elf_merge_symbol): Call backend merge_symbol if it is available. (is_global_data_symbol_definition): Call backend common_definition instead of checking SHN_COMMON. (elf_link_add_object_symbols): Likewise. (elf_link_output_extsym): Call backend common_section_index for common section index. (_bfd_elf_common_definition): New. (_bfd_elf_common_section_index): New. (_bfd_elf_common_section): New. * elfxx-target.h (elf_backend_common_definition): New. (elf_backend_common_section_index): New. (elf_backend_common_section): New. (elf_backend_merge_symbol): New. (elfNN_bed): Initialize common_definition, common_section_index, common_section, and merge_symbol. * section.c (BFD_FAKE_SECTION): New. (STD_SECTION): Use it. * bfd-in2.h: Regenerated. --- bfd/elf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bfd/elf.c') diff --git a/bfd/elf.c b/bfd/elf.c index ff46a5e..3e47b02 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -2618,7 +2618,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *failedptrarg) return; } - this_hdr->sh_flags = 0; + /* Don't clear sh_flags. Assembler may set additional bits. */ if ((asect->flags & SEC_ALLOC) != 0 || asect->user_set_vma) -- cgit v1.1