mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
bfd/
2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * elf.c (_bfd_elf_new_section_hook): Set the default section type to SHT_NULL. (elf_fake_sections): Set the section type based on asect->flags if it is SHT_NULL. Don't abort on processor specific section types. gas/ 2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * config/obj-elf.c (obj_elf_change_section): Update elf_section_type and elf_section_flags only when they are specified.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* elf.c (_bfd_elf_new_section_hook): Set the default section
|
||||||
|
type to SHT_NULL.
|
||||||
|
(elf_fake_sections): Set the section type based on asect->flags
|
||||||
|
if it is SHT_NULL. Don't abort on processor specific section
|
||||||
|
types.
|
||||||
|
|
||||||
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* bfd-in2.h: Regenerated.
|
* bfd-in2.h: Regenerated.
|
||||||
|
24
bfd/elf.c
24
bfd/elf.c
@ -2293,12 +2293,7 @@ _bfd_elf_new_section_hook (abfd, sec)
|
|||||||
sec->used_by_bfd = (PTR) sdata;
|
sec->used_by_bfd = (PTR) sdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((sec->flags & SEC_ALLOC) != 0
|
elf_section_type (sec) = SHT_NULL;
|
||||||
&& (((sec->flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0)
|
|
||||||
|| (sec->flags & SEC_NEVER_LOAD) != 0))
|
|
||||||
elf_section_type (sec) = SHT_NOBITS;
|
|
||||||
else
|
|
||||||
elf_section_type (sec) = SHT_PROGBITS;
|
|
||||||
if (sec->name && _bfd_elf_get_sec_type_attr (abfd, sec->name,
|
if (sec->name && _bfd_elf_get_sec_type_attr (abfd, sec->name,
|
||||||
&type, &attr))
|
&type, &attr))
|
||||||
{
|
{
|
||||||
@ -2544,14 +2539,21 @@ elf_fake_sections (abfd, asect, failedptrarg)
|
|||||||
this_hdr->bfd_section = asect;
|
this_hdr->bfd_section = asect;
|
||||||
this_hdr->contents = NULL;
|
this_hdr->contents = NULL;
|
||||||
|
|
||||||
|
/* If the section type is unspecified, we set it based on
|
||||||
|
asect->flags. */
|
||||||
|
if (this_hdr->sh_type == SHT_NULL)
|
||||||
|
{
|
||||||
|
if ((asect->flags & SEC_ALLOC) != 0
|
||||||
|
&& (((asect->flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0)
|
||||||
|
|| (asect->flags & SEC_NEVER_LOAD) != 0))
|
||||||
|
this_hdr->sh_type = SHT_NOBITS;
|
||||||
|
else
|
||||||
|
this_hdr->sh_type = SHT_PROGBITS;
|
||||||
|
}
|
||||||
|
|
||||||
switch (this_hdr->sh_type)
|
switch (this_hdr->sh_type)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
(*_bfd_error_handler)
|
|
||||||
(_("%s: Section `%s' has unknown type 0x%0x"),
|
|
||||||
bfd_get_filename (asect->owner), asect->name,
|
|
||||||
this_hdr->sh_type);
|
|
||||||
abort ();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SHT_STRTAB:
|
case SHT_STRTAB:
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* config/obj-elf.c (obj_elf_change_section): Update
|
||||||
|
elf_section_type and elf_section_flags only when they are
|
||||||
|
specified.
|
||||||
|
|
||||||
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* config/obj-elf.c (obj_elf_change_section): Always set section
|
* config/obj-elf.c (obj_elf_change_section): Always set section
|
||||||
|
@ -683,7 +683,9 @@ obj_elf_change_section (name, type, attr, entsize, group_name, linkonce, push)
|
|||||||
attr |= def_attr;
|
attr |= def_attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type != SHT_NULL)
|
||||||
elf_section_type (sec) = type;
|
elf_section_type (sec) = type;
|
||||||
|
if (attr != 0)
|
||||||
elf_section_flags (sec) = attr;
|
elf_section_flags (sec) = attr;
|
||||||
|
|
||||||
/* Convert ELF type and flags to BFD flags. */
|
/* Convert ELF type and flags to BFD flags. */
|
||||||
|
Reference in New Issue
Block a user