diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2005-04-18 03:12:51 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2005-04-18 03:12:51 +0000 |
commit | 20dbb49d3cd4e937732167e8ea281ad938513547 (patch) | |
tree | a51e2d569b0757ba9d8c74ad1da4a849846a5870 /bfd/elf.c | |
parent | 69308976e8c42febe2c7a12953b0f2dd2e47d66f (diff) | |
download | gdb-20dbb49d3cd4e937732167e8ea281ad938513547.zip gdb-20dbb49d3cd4e937732167e8ea281ad938513547.tar.gz gdb-20dbb49d3cd4e937732167e8ea281ad938513547.tar.bz2 |
2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
PR 855
* elf.c (setup_group): Properly handle zero group count.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -481,14 +481,18 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect) } if (num_group == 0) - num_group = (unsigned) -1; - elf_tdata (abfd)->num_group = num_group; - - if (num_group > 0) + { + num_group = (unsigned) -1; + elf_tdata (abfd)->num_group = num_group; + } + else { /* We keep a list of elf section headers for group sections, so we can find them quickly. */ - bfd_size_type amt = num_group * sizeof (Elf_Internal_Shdr *); + bfd_size_type amt; + + elf_tdata (abfd)->num_group = num_group; + amt = num_group * sizeof (Elf_Internal_Shdr *); elf_tdata (abfd)->group_sect_ptr = bfd_alloc (abfd, amt); if (elf_tdata (abfd)->group_sect_ptr == NULL) return FALSE; |