* 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.
This commit is contained in:
Alan Modra 2004-04-27 03:13:15 +00:00
parent 0b608360be
commit 1829f4b2af
7 changed files with 25 additions and 12 deletions

View File

@ -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)

View File

@ -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. */

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;