diff options
-rw-r--r-- | bfd/ChangeLog | 14 | ||||
-rw-r--r-- | bfd/elf-bfd.h | 2 | ||||
-rw-r--r-- | bfd/elf.c | 6 | ||||
-rw-r--r-- | bfd/elf32-arm.h | 4 | ||||
-rw-r--r-- | bfd/elf64-alpha.c | 5 | ||||
-rw-r--r-- | bfd/elf64-sparc.c | 2 | ||||
-rw-r--r-- | bfd/elfxx-ia64.c | 4 |
7 files changed, 25 insertions, 12 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0764393..cb505e4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,17 @@ +2004-04-27 Alan Modra <amodra@bigpond.net.au> + + * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign + structure field removed in 2004-04-24 patch. + * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix. + + * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>): + Constify hdr arg. + * elf32-arm.h (elf32_arm_section_flags): Likewise. + * elf64-alpha.c (elf64_alpha_section_flags): Likewise. + * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise. + * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section + field before calling elf_backend_section_flags. + 2004-04-24 Chris Demetriou <cgd@broadcom.com> * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16) diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index cfc42ac..4877a0a 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -597,7 +597,7 @@ struct elf_backend_data /* A function to convert machine dependent section header flags to BFD internal section header flags. */ bfd_boolean (*elf_backend_section_flags) - (flagword *, Elf_Internal_Shdr *); + (flagword *, const Elf_Internal_Shdr *); /* A function to handle unusual program segment types when creating BFD sections from ELF program segments. */ @@ -652,6 +652,9 @@ _bfd_elf_make_section_from_shdr (bfd *abfd, if (newsect == NULL) return FALSE; + hdr->bfd_section = newsect; + elf_section_data (newsect)->this_hdr = *hdr; + /* Always use the real type/flags. */ elf_section_type (newsect) = hdr->sh_type; elf_section_flags (newsect) = hdr->sh_flags; @@ -798,9 +801,6 @@ _bfd_elf_make_section_from_shdr (bfd *abfd, } } - hdr->bfd_section = newsect; - elf_section_data (newsect)->this_hdr = *hdr; - return TRUE; } diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index d6857d4..64da333 100644 --- a/bfd/elf32-arm.h +++ b/bfd/elf32-arm.h @@ -4121,7 +4121,7 @@ elf32_arm_reloc_type_class (rela) } } -static bfd_boolean elf32_arm_section_flags PARAMS ((flagword *, Elf_Internal_Shdr *)); +static bfd_boolean elf32_arm_section_flags PARAMS ((flagword *, const Elf_Internal_Shdr *)); static void elf32_arm_final_write_processing PARAMS ((bfd *, bfd_boolean)); /* Set the right machine number for an Arm ELF file. */ @@ -4129,7 +4129,7 @@ static void elf32_arm_final_write_processing PARAMS ((bfd *, bfd_boolean static bfd_boolean elf32_arm_section_flags (flags, hdr) flagword *flags; - Elf_Internal_Shdr *hdr; + const Elf_Internal_Shdr *hdr; { if (hdr->sh_type == SHT_NOTE) *flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_SAME_CONTENTS; diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 2d4715b..01c66b5 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -75,7 +75,7 @@ static bfd_boolean elf64_alpha_object_p static bfd_boolean elf64_alpha_section_from_shdr PARAMS ((bfd *, Elf_Internal_Shdr *, const char *)); static bfd_boolean elf64_alpha_section_flags - PARAMS ((flagword *, Elf_Internal_Shdr *)); + PARAMS ((flagword *, const Elf_Internal_Shdr *)); static bfd_boolean elf64_alpha_fake_sections PARAMS ((bfd *, Elf_Internal_Shdr *, asection *)); static bfd_boolean elf64_alpha_create_got_section @@ -2315,7 +2315,7 @@ elf64_alpha_section_from_shdr (abfd, hdr, name) static bfd_boolean elf64_alpha_section_flags (flags, hdr) flagword *flags; - Elf_Internal_Shdr *hdr; + const Elf_Internal_Shdr *hdr; { if (hdr->sh_flags & SHF_ALPHA_GPREL) *flags |= SEC_SMALL_DATA; @@ -2572,7 +2572,6 @@ elf64_alpha_read_ecoff_info (abfd, section, debug) #undef READ debug->fdr = NULL; - debug->adjust = NULL; return TRUE; diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 886cb4d..905890e 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -3112,7 +3112,7 @@ sparc64_elf_object_p (abfd) static bfd_vma sparc64_elf_plt_sym_val (bfd_vma i, const asection *plt, - const arelent *rel) + const arelent *rel ATTRIBUTE_UNUSED) { bfd_vma j; diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index b19aac2..20d9083 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -186,7 +186,7 @@ static bfd_boolean is_unwind_section_name static bfd_boolean elfNN_ia64_section_from_shdr PARAMS ((bfd *, Elf_Internal_Shdr *, const char *)); static bfd_boolean elfNN_ia64_section_flags - PARAMS ((flagword *, Elf_Internal_Shdr *)); + PARAMS ((flagword *, const Elf_Internal_Shdr *)); static bfd_boolean elfNN_ia64_fake_sections PARAMS ((bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)); static void elfNN_ia64_final_write_processing @@ -1271,7 +1271,7 @@ elfNN_ia64_section_from_shdr (abfd, hdr, name) static bfd_boolean elfNN_ia64_section_flags (flags, hdr) flagword *flags; - Elf_Internal_Shdr *hdr; + const Elf_Internal_Shdr *hdr; { if (hdr->sh_flags & SHF_IA_64_SHORT) *flags |= SEC_SMALL_DATA; |