From c46b8ed7e6fae0cb0ef36527b491546378a849b8 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 17 Jun 1994 05:39:55 +0000 Subject: [PATCH] * elfcode.h (elf_link_input_bfd): Don't try to read local symbols if there aren't any in the input file. --- bfd/ChangeLog | 5 +++++ bfd/elfcode.h | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6b7e8a3..3682b84 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 16 23:36:23 1994 Jeff Law (law@snake.cs.utah.edu) + + * elfcode.h (elf_link_input_bfd): Don't try to read local symbols + if there aren't any in the input file. + Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com) * i386linux.c: Many new functions and definitions for linker diff --git a/bfd/elfcode.h b/bfd/elfcode.h index 79b85a3..26b666e 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -5850,10 +5850,11 @@ elf_link_input_bfd (finfo, input_bfd) } /* Read the local symbols. */ - if (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0 - || (bfd_read (finfo->external_syms, sizeof (Elf_External_Sym), - locsymcount, input_bfd) - != locsymcount * sizeof (Elf_External_Sym))) + if (locsymcount > 0 + && (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0 + || (bfd_read (finfo->external_syms, sizeof (Elf_External_Sym), + locsymcount, input_bfd) + != locsymcount * sizeof (Elf_External_Sym)))) return false; /* Swap in the local symbols and write out the ones which we know -- 2.7.4