aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/tui/ChangeLog5
-rw-r--r--gdb/tui/tuiDisassem.c22
2 files changed, 19 insertions, 8 deletions
diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog
index dc04b1f..ac71eee 100644
--- a/gdb/tui/ChangeLog
+++ b/gdb/tui/ChangeLog
@@ -1,5 +1,10 @@
2002-08-25 Stephane Carrez <stcarrez@nerim.fr>
+ * tuiDisassem.c (tuiGetBeginAsmAddress): Use lookup_minimal_symbol
+ to find symbol address.
+
+2002-08-25 Stephane Carrez <stcarrez@nerim.fr>
+
* tuiSourceWin.c (tui_display_main): Rename from tuiDisplayMainFunction
and use tuiGetBeginAsmAddress.
* tuiSourceWin.h (tui_display_main): Declare.
diff --git a/gdb/tui/tuiDisassem.c b/gdb/tui/tuiDisassem.c
index 8e59e68..e3a19b3 100644
--- a/gdb/tui/tuiDisassem.c
+++ b/gdb/tui/tuiDisassem.c
@@ -231,19 +231,25 @@ tuiGetBeginAsmAddress (void)
if (element->addr == 0)
{
- /*the target is not executing, because the pc is 0 */
-
- addr = parse_and_eval_address ("main");
-
- if (addr == 0)
- addr = parse_and_eval_address ("MAIN");
-
+ struct minimal_symbol *main_symbol;
+
+ /* Find address of the start of program.
+ Note: this should be language specific. */
+ main_symbol = lookup_minimal_symbol ("main", NULL, NULL);
+ if (main_symbol == 0)
+ main_symbol = lookup_minimal_symbol ("MAIN", NULL, NULL);
+ if (main_symbol == 0)
+ main_symbol = lookup_minimal_symbol ("_start", NULL, NULL);
+ if (main_symbol)
+ addr = SYMBOL_VALUE_ADDRESS (main_symbol);
+ else
+ addr = 0;
}
else /* the target is executing */
addr = element->addr;
return addr;
-} /* tuiGetBeginAsmAddress */
+}
/*