aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/dbxread.c9
2 files changed, 13 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b123ea6..f3afb33 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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}.
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 2a1d4e2..4d9f35d 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -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 ();