This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
PATCH: Speed up AR for ELF
- From: "H. J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 30 Apr 2005 12:36:55 -0700
- Subject: PATCH: Speed up AR for ELF
We are calling _bfd_elf_get_sec_type_attr on sections from input files.
It is not necessary at all. This patch should speed up AR for ELF.
H.J.
---
2005-04-30 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (_bfd_elf_new_section_hook): Don't call
_bfd_elf_get_sec_type_attr on sections from input files.
--- bfd/elf.c.speed 2005-04-29 23:30:28.000000000 -0700
+++ bfd/elf.c 2005-04-30 10:23:02.000000000 -0700
@@ -2251,12 +2251,18 @@ _bfd_elf_new_section_hook (bfd *abfd, as
sec->used_by_bfd = sdata;
}
- elf_section_type (sec) = SHT_NULL;
- ssect = _bfd_elf_get_sec_type_attr (abfd, sec->name);
- if (ssect != NULL)
- {
- elf_section_type (sec) = ssect->type;
- elf_section_flags (sec) = ssect->attr;
+ /* When we read a file, we don't need to section type and flags.
+ They will be overridden in _bfd_elf_make_section_from_shdr
+ anyway. */
+ if (abfd->direction != read_direction)
+ {
+ elf_section_type (sec) = SHT_NULL;
+ ssect = _bfd_elf_get_sec_type_attr (abfd, sec->name);
+ if (ssect != NULL)
+ {
+ elf_section_type (sec) = ssect->type;
+ elf_section_flags (sec) = ssect->attr;
+ }
}
/* Indicate whether or not this section should use RELA relocations. */