* read.c (do_s_func): New function.

(s_func): Call it.
	* read.h (do_s_func): Add prototype.
	* config/tc-dvp.c (md_pseudo_table): Add .func/.endfunc.
	(s_dvp_func): New function.
This commit is contained in:
Doug Evans 1998-06-02 16:54:59 +00:00
parent 30596dfc4f
commit c68b56efc5
2 changed files with 32 additions and 10 deletions

View File

@ -1,6 +1,12 @@
Tue Jun 2 09:25:34 1998 Doug Evans <devans@canuck.cygnus.com>
* read.c (s_func): Prepend `leading char' by default.
* read.c (do_s_func): New function.
(s_func): Call it.
* read.h (do_s_func): Add prototype.
start-sanitize-sky
* config/tc-dvp.c (md_pseudo_table): Add .func/.endfunc.
(s_dvp_func): New function.
end-sanitize-sky
start-sanitize-r5900
Mon Jun 1 17:04:56 1998 Jeffrey A Law (law@cygnus.com)

View File

@ -4920,6 +4920,17 @@ generate_lineno_debug ()
void
s_func (end_p)
int end_p;
{
do_s_func (end_p, NULL);
}
/* Subroutine of s_func so targets can choose a different default prefix.
If DEFAULT_PREFIX is NULL, use the target's "leading char". */
void
do_s_func (end_p, default_prefix)
int end_p;
const char *default_prefix;
{
/* Record the current function so that we can issue an error message for
misplaced .func,.endfunc, and also so that .endfunc needs no
@ -4960,16 +4971,21 @@ s_func (end_p)
SKIP_WHITESPACE ();
if (*input_line_pointer != ',')
{
char leading_char = 0;
#ifdef BFD_ASSEMBLER
leading_char = bfd_get_symbol_leading_char (stdoutput);
#endif
/* Missing entry point, use function's name with the leading
char prepended. */
if (leading_char)
asprintf (&label, "%c%s", leading_char, name);
if (default_prefix)
asprintf (&label, "%s%s", default_prefix, name);
else
label = name;
{
char leading_char = 0;
#ifdef BFD_ASSEMBLER
leading_char = bfd_get_symbol_leading_char (stdoutput);
#endif
/* Missing entry point, use function's name with the leading
char prepended. */
if (leading_char)
asprintf (&label, "%c%s", leading_char, name);
else
label = name;
}
}
else
{