This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Kill SOFUN_ADDRESS_MAYBE_MISSING
David S. Miller writes:
> From: Elena Zannoni <ezannoni@redhat.com>
> Date: Tue, 23 Apr 2002 15:05:04 -0400
>
> About symtab.h: it is possible to remove the find_stab_function_addr
> by making the function static in dbxread.c, and moving its definition
> there from minsyms.c. I would consider that an obvious fix.
I assume you checked it in? If not, please do.
Elena
>
> Done, as follows:
>
> 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.
>
> --- ./symtab.h.~1~ Tue Apr 9 13:51:33 2002
> +++ ./symtab.h Wed Apr 24 00:15:32 2002
> @@ -1139,10 +1139,6 @@
> enum minimal_symbol_type,
> char *info, int section, asection * bfd_section, struct objfile *);
>
> -#ifdef SOFUN_ADDRESS_MAYBE_MISSING
> -extern CORE_ADDR find_stab_function_addr (char *, char *, struct objfile *);
> -#endif
> -
> extern unsigned int msymbol_hash_iw (const char *);
>
> extern unsigned int msymbol_hash (const char *);
> --- ./minsyms.c.~1~ Tue Mar 19 11:00:04 2002
> +++ ./minsyms.c Wed Apr 24 00:16:29 2002
> @@ -504,52 +504,6 @@
> {
> return lookup_minimal_symbol_by_pc_section (pc, find_pc_mapped_section (pc));
> }
> -
> -#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 */
>
>
> /* Return leading symbol character for a BFD. If BFD is NULL,
> --- ./dbxread.c.~1~ Thu Mar 21 11:48:54 2002
> +++ ./dbxread.c Wed Apr 24 00:16:48 2002
> @@ -1230,6 +1230,52 @@
> 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. */
>