2003-02-18 Elena Zannoni <ezannoni@redhat.com>
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>
Tue, 18 Feb 2003 15:41:29 +0000 (15:41 +0000)
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>
Tue, 18 Feb 2003 15:41:29 +0000 (15:41 +0000)
From Jim Ingham   <jingham@apple.com>:
        * dbxread.c (process_one_symbol): Use last_function_start rather
        than function_start_offset to find the real beginning of the
        current function.  The latter is just the text section offset on
        some systems, the former is always the real function start.

gdb/ChangeLog
gdb/dbxread.c

index b123ea6..f3afb33 100644 (file)
@@ -1,3 +1,11 @@
+2003-02-18  Elena Zannoni  <ezannoni@redhat.com>
+
+       From Jim Ingham   <jingham@apple.com>:
+        * dbxread.c (process_one_symbol): Use last_function_start rather
+        than function_start_offset to find the real beginning of the
+        current function.  The latter is just the text section offset on
+        some systems, the former is always the real function start.
+
 2003-02-17  Andrew Cagney  <cagney@redhat.com>
 
        * configure.in: Revert ${target} != ${host}.
index 2a1d4e2..4d9f35d 100644 (file)
@@ -2784,9 +2784,10 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
      peculiarities of function_start_offset.  */
   static CORE_ADDR last_function_start;
 
-  /* If this is nonzero, we've seen an N_SLINE since the start of the current
-     function.  Initialized to nonzero to assure that last_function_start
-     is never used uninitialized.  */
+  /* If this is nonzero, we've seen an N_SLINE since the start of the
+     current function.  We use this to tell us to move the first sline
+     to the beginning of the function regardless of what its given
+     value is. */
   static int sline_found_in_function = 1;
 
   /* If this is nonzero, we've seen a non-gcc N_OPT symbol for this source
@@ -2830,7 +2831,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
              break;
            }
 
-         record_line (current_subfile, 0, function_start_offset + valu);
+         record_line (current_subfile, 0, last_function_start + valu);
          within_function = 0;
          new = pop_context ();