SH gas configure and ld tests
[deliverable/binutils-gdb.git] / gprof / symtab.c
index aed66a740aff8e5cd29a859c3b7b544f24c3e09c..df3dbdc1aecbb3cb6b2a5b45f22731c2498f0371 100644 (file)
@@ -1,12 +1,12 @@
 /* symtab.c
 
 /* symtab.c
 
-   Copyright 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1999-2020 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This file is part of GNU Binutils.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -89,7 +89,7 @@ symtab_finalize (Sym_Table *tab)
 
   /* Remove duplicate entries to speed-up later processing and
      set end_addr if its not set yet.  */
 
   /* Remove duplicate entries to speed-up later processing and
      set end_addr if its not set yet.  */
-  prev_addr = tab->base[0].addr + 1;
+  prev_addr = tab->base[0].addr - 1;
 
   for (src = dst = tab->base; src < tab->limit; ++src)
     {
 
   for (src = dst = tab->base; src < tab->limit; ++src)
     {
@@ -107,7 +107,7 @@ symtab_finalize (Sym_Table *tab)
                  && ((src->is_func && !dst[-1].is_func)
                      || ((src->is_func == dst[-1].is_func)
                          && ((src->name[0] != '_' && dst[-1].name[0] == '_')
                  && ((src->is_func && !dst[-1].is_func)
                      || ((src->is_func == dst[-1].is_func)
                          && ((src->name[0] != '_' && dst[-1].name[0] == '_')
-                             || (src->name[0]
+                             || (src->name[0] == '_' && dst[-1].name[0] == '_'
                                  && src->name[1] != '_'
                                  && dst[-1].name[1] == '_'))))))
            {
                                  && src->name[1] != '_'
                                  && dst[-1].name[1] == '_'))))))
            {
@@ -149,7 +149,7 @@ symtab_finalize (Sym_Table *tab)
 
   if (tab->len > 0 && dst[-1].end_addr == 0)
     dst[-1].end_addr
 
   if (tab->len > 0 && dst[-1].end_addr == 0)
     dst[-1].end_addr
-      = core_text_sect->vma + bfd_get_section_size (core_text_sect) - 1;
+      = core_text_sect->vma + bfd_section_size (core_text_sect) - 1;
 
   DBG (AOUTDEBUG | IDDEBUG,
        printf ("[symtab_finalize]: removed %d duplicate entries\n",
 
   DBG (AOUTDEBUG | IDDEBUG,
        printf ("[symtab_finalize]: removed %d duplicate entries\n",
@@ -164,8 +164,9 @@ symtab_finalize (Sym_Table *tab)
        for (j = 0; j < tab->len; ++j)
         {
           printf ("[symtab_finalize] 0x%lx-0x%lx\t%s\n",
        for (j = 0; j < tab->len; ++j)
         {
           printf ("[symtab_finalize] 0x%lx-0x%lx\t%s\n",
-                (long) tab->base[j].addr, (long) tab->base[j].end_addr,
-                tab->base[j].name);
+                  (unsigned long) tab->base[j].addr,
+                  (unsigned long) tab->base[j].end_addr,
+                  tab->base[j].name);
         }
   );
 }
         }
   );
 }
@@ -176,7 +177,7 @@ symtab_finalize (Sym_Table *tab)
 Sym *
 dbg_sym_lookup (Sym_Table *sym_tab, bfd_vma address)
 {
 Sym *
 dbg_sym_lookup (Sym_Table *sym_tab, bfd_vma address)
 {
-  long low, mid, high;
+  unsigned long low, mid, high;
   Sym *sym;
 
   fprintf (stderr, "[dbg_sym_lookup] address 0x%lx\n",
   Sym *sym;
 
   fprintf (stderr, "[dbg_sym_lookup] address 0x%lx\n",
This page took 0.02841 seconds and 4 git commands to generate.