2006-04-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2537 * elf.c (bfd_section_from_shdr): Allow sections reserved for applications. Issue an error on sections we don't know how to handle.
This commit is contained in:
parent
fbd9c86b6b
commit
3eb70a79d6
2 changed files with 44 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2006-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/2537
|
||||
* elf.c (bfd_section_from_shdr): Allow sections reserved for
|
||||
applications. Issue an error on sections we don't know how
|
||||
to handle.
|
||||
|
||||
2006-04-19 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* Makefile.am: Run "make dep-am".
|
||||
|
|
39
bfd/elf.c
39
bfd/elf.c
|
@ -2159,8 +2159,43 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
|
|||
|
||||
default:
|
||||
/* Check for any processor-specific section types. */
|
||||
return bed->elf_backend_section_from_shdr (abfd, hdr, name,
|
||||
shindex);
|
||||
if (bed->elf_backend_section_from_shdr (abfd, hdr, name, shindex))
|
||||
return TRUE;
|
||||
|
||||
if (hdr->sh_type >= SHT_LOUSER && hdr->sh_type <= SHT_HIUSER)
|
||||
{
|
||||
if ((hdr->sh_flags & SHF_ALLOC) != 0)
|
||||
/* FIXME: How to properly handle allocated section reserved
|
||||
for applications? */
|
||||
(*_bfd_error_handler)
|
||||
(_("%B: don't know how to handle allocated, application "
|
||||
"specific section `%s' [0x%8x]"),
|
||||
abfd, name, hdr->sh_type);
|
||||
else
|
||||
/* Allow sections reserved for applications. */
|
||||
return _bfd_elf_make_section_from_shdr (abfd, hdr, name,
|
||||
shindex);
|
||||
}
|
||||
else if (hdr->sh_type >= SHT_LOPROC
|
||||
&& hdr->sh_type <= SHT_HIPROC)
|
||||
/* FIXME: We should handle this section. */
|
||||
(*_bfd_error_handler)
|
||||
(_("%B: don't know how to handle processor specific section "
|
||||
"`%s' [0x%8x]"),
|
||||
abfd, name, hdr->sh_type);
|
||||
else if (hdr->sh_type >= SHT_LOOS && hdr->sh_type <= SHT_HIOS)
|
||||
/* FIXME: We should handle this section. */
|
||||
(*_bfd_error_handler)
|
||||
(_("%B: don't know how to handle OS specific section "
|
||||
"`%s' [0x%8x]"),
|
||||
abfd, name, hdr->sh_type);
|
||||
else
|
||||
/* FIXME: We should handle this section. */
|
||||
(*_bfd_error_handler)
|
||||
(_("%B: don't know how to handle section `%s' [0x%8x]"),
|
||||
abfd, name, hdr->sh_type);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
|
Loading…
Reference in a new issue