aboutsummaryrefslogtreecommitdiff
path: root/gdb/dbxread.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2002-04-24 08:00:54 +0000
committerDavid S. Miller <davem@redhat.com>2002-04-24 08:00:54 +0000
commit4867e41ec74924c20f3c3c83984f0ccad9b320ba (patch)
treefafabff0235d0b8d553a08e472fa7f5b253d6551 /gdb/dbxread.c
parent69cdf6a234c156e3c334a15f0e0c7ebeb72c5618 (diff)
downloadgdb-4867e41ec74924c20f3c3c83984f0ccad9b320ba.zip
gdb-4867e41ec74924c20f3c3c83984f0ccad9b320ba.tar.gz
gdb-4867e41ec74924c20f3c3c83984f0ccad9b320ba.tar.bz2
2002-04-24 David S. Miller <davem@redhat.com>
* symtab.h (find_stab_function_addr): Kill extern. * minsyms.c (find_stab_function_addr): Remove from here... * dbxread.c: ... to here, and mark it static.
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r--gdb/dbxread.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 16d0043..9b2b73b 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -1230,6 +1230,52 @@ read_dbx_dynamic_symtab (struct objfile *objfile)
do_cleanups (back_to);
}
+#ifdef SOFUN_ADDRESS_MAYBE_MISSING
+CORE_ADDR
+find_stab_function_addr (char *namestring, char *filename,
+ struct objfile *objfile)
+{
+ struct minimal_symbol *msym;
+ char *p;
+ int n;
+
+ p = strchr (namestring, ':');
+ if (p == NULL)
+ p = namestring;
+ n = p - namestring;
+ p = alloca (n + 2);
+ strncpy (p, namestring, n);
+ p[n] = 0;
+
+ msym = lookup_minimal_symbol (p, filename, objfile);
+ if (msym == NULL)
+ {
+ /* Sun Fortran appends an underscore to the minimal symbol name,
+ try again with an appended underscore if the minimal symbol
+ was not found. */
+ p[n] = '_';
+ p[n + 1] = 0;
+ msym = lookup_minimal_symbol (p, filename, objfile);
+ }
+
+ if (msym == NULL && filename != NULL)
+ {
+ /* Try again without the filename. */
+ p[n] = 0;
+ msym = lookup_minimal_symbol (p, NULL, objfile);
+ }
+ if (msym == NULL && filename != NULL)
+ {
+ /* And try again for Sun Fortran, but without the filename. */
+ p[n] = '_';
+ p[n + 1] = 0;
+ msym = lookup_minimal_symbol (p, NULL, objfile);
+ }
+
+ return msym == NULL ? 0 : SYMBOL_VALUE_ADDRESS (msym);
+}
+#endif /* SOFUN_ADDRESS_MAYBE_MISSING */
+
/* Setup partial_symtab's describing each source file for which
debugging information is available. */