From 435b470ec338d435c8c63e1e813ca6c67e5f1cc7 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 25 Aug 1994 18:56:11 +0000 Subject: [PATCH] * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error before adding BYTES_IN_WORD. --- bfd/ChangeLog | 3 +++ bfd/aoutx.h | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1bc2c1cf06..32af35e3ee 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ Thu Aug 25 10:44:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error + before adding BYTES_IN_WORD. + * coffgen.c (coff_find_nearest_line): Look for the best C_FILE, not merely the first. diff --git a/bfd/aoutx.h b/bfd/aoutx.h index f62228d884..1c716e270f 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1764,6 +1764,7 @@ add_to_stringtab (abfd, tab, str, copy) boolean copy; { boolean hash; + bfd_size_type index; /* An index of 0 always means the empty string. */ if (*str == '\0') @@ -1775,9 +1776,16 @@ add_to_stringtab (abfd, tab, str, copy) if ((abfd->flags & BFD_TRADITIONAL_FORMAT) != 0) hash = false; - /* Add BYTES_IN_WORD to the return value to account for the space - taken up by the count. */ - return BYTES_IN_WORD + _bfd_stringtab_add (tab, str, hash, copy); + index = _bfd_stringtab_add (tab, str, hash, copy); + + if (index != (bfd_size_type) -1) + { + /* Add BYTES_IN_WORD to the return value to account for the + space taken up by the string table size. */ + index += BYTES_IN_WORD; + } + + return index; } /* Write out a strtab. ABFD is already at the right location in the