x86-64: adjust recently added tests
[binutils-gdb.git] / bfd / stabs.c
index deb2c0f194eee80e9702420b93a586238b5436c7..c5e64a47e14ff99f1ae6e9205ebc4fa151d7c572 100644 (file)
@@ -1,5 +1,5 @@
 /* Stabs in sections linking support.
-   Copyright (C) 1996-2016 Free Software Foundation, Inc.
+   Copyright (C) 1996-2021 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -127,7 +127,7 @@ stab_link_includes_newfunc (struct bfd_hash_entry *entry,
      subclass.  */
   if (ret == NULL)
     ret = (struct stab_link_includes_entry *)
-        bfd_hash_allocate (table, sizeof (struct stab_link_includes_entry));
+       bfd_hash_allocate (table, sizeof (struct stab_link_includes_entry));
   if (ret == NULL)
     return NULL;
 
@@ -144,7 +144,7 @@ stab_link_includes_newfunc (struct bfd_hash_entry *entry,
 /* This function is called for each input file from the add_symbols
    pass of the linker.  */
 
-bfd_boolean
+bool
 _bfd_link_section_stabs (bfd *abfd,
                         struct stab_info *sinfo,
                         asection *stabsec,
@@ -152,7 +152,7 @@ _bfd_link_section_stabs (bfd *abfd,
                         void * *psecinfo,
                         bfd_size_type *pstring_offset)
 {
-  bfd_boolean first;
+  bool first;
   bfd_size_type count, amt;
   struct stab_section_info *secinfo;
   bfd_byte *stabbuf = NULL;
@@ -164,37 +164,37 @@ _bfd_link_section_stabs (bfd *abfd,
   if (stabsec->size == 0
       || stabstrsec->size == 0)
     /* This file does not contain stabs debugging information.  */
-    return TRUE;
+    return true;
 
   if (stabsec->size % STABSIZE != 0)
     /* Something is wrong with the format of these stab symbols.
        Don't try to optimize them.  */
-    return TRUE;
+    return true;
 
   if ((stabstrsec->flags & SEC_RELOC) != 0)
     /* We shouldn't see relocations in the strings, and we aren't
        prepared to handle them.  */
-    return TRUE;
+    return true;
 
   if (bfd_is_abs_section (stabsec->output_section)
       || bfd_is_abs_section (stabstrsec->output_section))
     /* At least one of the sections is being discarded from the
        link, so we should just ignore them.  */
-    return TRUE;
+    return true;
 
-  first = FALSE;
+  first = false;
 
   if (sinfo->stabstr == NULL)
     {
       flagword flags;
 
       /* Initialize the stabs information we need to keep track of.  */
-      first = TRUE;
+      first = true;
       sinfo->strings = _bfd_stringtab_init ();
       if (sinfo->strings == NULL)
        goto error_return;
       /* Make sure the first byte is zero.  */
-      (void) _bfd_stringtab_add (sinfo->strings, "", TRUE, TRUE);
+      (void) _bfd_stringtab_add (sinfo->strings, "", true, true);
       if (! bfd_hash_table_init (&sinfo->includes,
                                 stab_link_includes_newfunc,
                                 sizeof (struct stab_link_includes_entry)))
@@ -267,7 +267,7 @@ _bfd_link_section_stabs (bfd *abfd,
              ++skip;
              continue;
            }
-         first = FALSE;
+         first = false;
        }
 
       /* Store the string in the hash table, and record the index.  */
@@ -275,13 +275,14 @@ _bfd_link_section_stabs (bfd *abfd,
       if (symstroff >= stabstrsec->size)
        {
          _bfd_error_handler
-           (_("%B(%A+0x%lx): Stabs entry has invalid string index."),
+           /* xgettext:c-format */
+           (_("%pB(%pA+%#lx): stabs entry has invalid string index"),
             abfd, stabsec, (long) (sym - stabbuf));
          bfd_set_error (bfd_error_bad_value);
          goto error_return;
        }
       string = (char *) stabstrbuf + symstroff;
-      *pstridx = _bfd_stringtab_add (sinfo->strings, string, TRUE, TRUE);
+      *pstridx = _bfd_stringtab_add (sinfo->strings, string, true, true);
 
       /* An N_BINCL symbol indicates the start of the stabs entries
         for a header file.  We need to scan ahead to the next N_EINCL
@@ -361,7 +362,7 @@ _bfd_link_section_stabs (bfd *abfd,
          /* If we have already included a header file with the same
             value, then replaced this one with an N_EXCL symbol.  */
          incl_entry = (struct stab_link_includes_entry * )
-           bfd_hash_lookup (&sinfo->includes, string, TRUE, TRUE);
+           bfd_hash_lookup (&sinfo->includes, string, true, true);
          if (incl_entry == NULL)
            goto error_return;
 
@@ -388,12 +389,12 @@ _bfd_link_section_stabs (bfd *abfd,
              /* This is the first time we have seen this header file
                 with this set of stabs strings.  */
              t = (struct stab_link_includes_totals *)
-                  bfd_hash_allocate (&sinfo->includes, sizeof *t);
+                 bfd_hash_allocate (&sinfo->includes, sizeof *t);
              if (t == NULL)
                goto error_return;
              t->sum_chars = sum_chars;
              t->num_chars = num_chars;
-              /* Trim data down.  */
+             /* Trim data down.  */
              t->symb = symb = (char *) bfd_realloc_or_free (symb, num_chars);
              t->next = incl_entry->totals;
              incl_entry->totals = t;
@@ -490,14 +491,12 @@ _bfd_link_section_stabs (bfd *abfd,
       BFD_ASSERT (offset != 0);
     }
 
-  return TRUE;
+  return true;
 
  error_return:
-  if (stabbuf != NULL)
-    free (stabbuf);
-  if (stabstrbuf != NULL)
-    free (stabstrbuf);
-  return FALSE;
+  free (stabbuf);
+  free (stabstrbuf);
+  return false;
 }
 \f
 /* This function is called for each input file before the stab
@@ -506,11 +505,11 @@ _bfd_link_section_stabs (bfd *abfd,
    any entries have been deleted.
 */
 
-bfd_boolean
+bool
 _bfd_discard_section_stabs (bfd *abfd,
                            asection *stabsec,
                            void * psecinfo,
-                           bfd_boolean (*reloc_symbol_deleted_p) (bfd_vma, void *),
+                           bool (*reloc_symbol_deleted_p) (bfd_vma, void *),
                            void * cookie)
 {
   bfd_size_type count, amt;
@@ -523,24 +522,24 @@ _bfd_discard_section_stabs (bfd *abfd,
 
   if (stabsec->size == 0)
     /* This file does not contain stabs debugging information.  */
-    return FALSE;
+    return false;
 
   if (stabsec->size % STABSIZE != 0)
     /* Something is wrong with the format of these stab symbols.
        Don't try to optimize them.  */
-    return FALSE;
+    return false;
 
   if ((stabsec->output_section != NULL
        && bfd_is_abs_section (stabsec->output_section)))
     /* At least one of the sections is being discarded from the
        link, so we should just ignore them.  */
-    return FALSE;
+    return false;
 
   /* We should have initialized our data in _bfd_link_section_stabs.
      If there was some bizarre error reading the string sections, though,
      we might not have.  Bail rather than asserting.  */
   if (psecinfo == NULL)
-    return FALSE;
+    return false;
 
   count = stabsec->rawsize / STABSIZE;
   secinfo = (struct stab_section_info *) psecinfo;
@@ -647,15 +646,14 @@ _bfd_discard_section_stabs (bfd *abfd,
   return skip > 0;
 
  error_return:
-  if (stabbuf != NULL)
-    free (stabbuf);
-  return FALSE;
+  free (stabbuf);
+  return false;
 }
 
 /* Write out the stab section.  This is called with the relocated
    contents.  */
 
-bfd_boolean
+bool
 _bfd_write_section_stabs (bfd *output_bfd,
                          struct stab_info *sinfo,
                          asection *stabsec,
@@ -726,12 +724,12 @@ _bfd_write_section_stabs (bfd *output_bfd,
 
 /* Write out the .stabstr section.  */
 
-bfd_boolean
+bool
 _bfd_write_stab_strings (bfd *output_bfd, struct stab_info *sinfo)
 {
   if (bfd_is_abs_section (sinfo->stabstr->output_section))
     /* The section was discarded from the link.  */
-    return TRUE;
+    return true;
 
   BFD_ASSERT ((sinfo->stabstr->output_offset
               + _bfd_stringtab_size (sinfo->strings))
@@ -741,16 +739,16 @@ _bfd_write_stab_strings (bfd *output_bfd, struct stab_info *sinfo)
                (file_ptr) (sinfo->stabstr->output_section->filepos
                            + sinfo->stabstr->output_offset),
                SEEK_SET) != 0)
-    return FALSE;
+    return false;
 
   if (! _bfd_stringtab_emit (output_bfd, sinfo->strings))
-    return FALSE;
+    return false;
 
   /* We no longer need the stabs information.  */
   _bfd_stringtab_free (sinfo->strings);
   bfd_hash_table_free (&sinfo->includes);
 
-  return TRUE;
+  return true;
 }
 
 /* Adjust an address in the .stab section.  Given OFFSET within