mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +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:
parent
a5de4c570e
commit
3cddba1e54
@ -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>
|
||||
|
||||
* 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;
|
||||
}
|
||||
|
||||
if ((sec->flags & SEC_ALLOC) != 0
|
||||
&& (((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;
|
||||
elf_section_type (sec) = SHT_NULL;
|
||||
if (sec->name && _bfd_elf_get_sec_type_attr (abfd, sec->name,
|
||||
&type, &attr))
|
||||
{
|
||||
@ -2544,14 +2539,21 @@ elf_fake_sections (abfd, asect, failedptrarg)
|
||||
this_hdr->bfd_section = asect;
|
||||
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)
|
||||
{
|
||||
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;
|
||||
|
||||
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>
|
||||
|
||||
* config/obj-elf.c (obj_elf_change_section): Always set section
|
||||
|
@ -683,8 +683,10 @@ obj_elf_change_section (name, type, attr, entsize, group_name, linkonce, push)
|
||||
attr |= def_attr;
|
||||
}
|
||||
|
||||
elf_section_type (sec) = type;
|
||||
elf_section_flags (sec) = attr;
|
||||
if (type != SHT_NULL)
|
||||
elf_section_type (sec) = type;
|
||||
if (attr != 0)
|
||||
elf_section_flags (sec) = attr;
|
||||
|
||||
/* Convert ELF type and flags to BFD flags. */
|
||||
flags = (SEC_RELOC
|
||||
|
Loading…
Reference in New Issue
Block a user