about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--elf/sprof.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 4fec3ade15..6fa95fa425 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-05-17  H.J. Lu  <hjl@gnu.org>
+
+	* elf/sprof.c (read_symbols): Move "++symtab" into the while loop.
+
 2001-05-17  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Use
diff --git a/elf/sprof.c b/elf/sprof.c
index 2dccf8f4ed..b66ed49501 100644
--- a/elf/sprof.c
+++ b/elf/sprof.c
@@ -912,7 +912,7 @@ read_symbols (struct shobj *shobj)
   obstack_init (&ob_list);
 
   /* Process the symbols.  */
-  if (shobj->symtab)
+  if (shobj->symtab != NULL)
     {
       const ElfW(Sym) *sym = shobj->symtab;
       const ElfW(Sym) *sym_end
@@ -965,7 +965,7 @@ read_symbols (struct shobj *shobj)
 
       /* We assume that the string table follows the symbol table,
 	 because there is no way in ELF to know the size of the
-	 dynamic symbol table!!  */
+	 dynamic symbol table without looking at the section headers.  */
       while ((void *) symtab < (void *) strtab)
 	{
 	  if ((ELFW(ST_TYPE)(symtab->st_info) == STT_FUNC
@@ -1006,9 +1006,9 @@ read_symbols (struct shobj *shobj)
 		    obstack_free (&shobj->ob_sym, newsym);
 		}
 	    }
-	}
 
-      ++symtab;
+	  ++symtab;
+	}
     }
 
   sortsym = malloc (n * sizeof (struct known_symbol *));