Commit 33d01c33 by Richard Kenner

(output_{pro,epi}log): Flag_inhibit_size_directive should supress .ent, .end,…

(output_{pro,epi}log): Flag_inhibit_size_directive should supress .ent, .end, and accompanying directives.

(output_{pro,epi}log): Flag_inhibit_size_directive
should supress .ent, .end, and accompanying directives.
(alpha_output_lineno): Fix polarity on GAS test.

From-SVN: r12352
parent 7fa12593
...@@ -1633,13 +1633,16 @@ output_prolog (file, size) ...@@ -1633,13 +1633,16 @@ output_prolog (file, size)
to the .ent directive, the lex_level, is ignored by the assembler, to the .ent directive, the lex_level, is ignored by the assembler,
so we might as well omit it. */ so we might as well omit it. */
if (!flag_inhibit_size_directive)
{
fprintf (file, "\t.ent "); fprintf (file, "\t.ent ");
assemble_name (file, alpha_function_name); assemble_name (file, alpha_function_name);
fprintf (file, "\n"); fprintf (file, "\n");
}
ASM_OUTPUT_LABEL (file, alpha_function_name); ASM_OUTPUT_LABEL (file, alpha_function_name);
inside_function = TRUE; inside_function = TRUE;
if (TARGET_IEEE_CONFORMANT) if (TARGET_IEEE_CONFORMANT && !flag_inhibit_size_directive)
/* Set flags in procedure descriptor to request IEEE-conformant /* Set flags in procedure descriptor to request IEEE-conformant
math-library routines. The value we set it to is PDSC_EXC_IEEE math-library routines. The value we set it to is PDSC_EXC_IEEE
(/usr/include/pdsc.h). */ (/usr/include/pdsc.h). */
...@@ -1746,10 +1749,13 @@ output_prolog (file, size) ...@@ -1746,10 +1749,13 @@ output_prolog (file, size)
} }
/* Describe our frame. */ /* Describe our frame. */
if (!flag_inhibit_size_directive)
{
fprintf (file, "\t.frame $%d,%d,$26,%d\n", fprintf (file, "\t.frame $%d,%d,$26,%d\n",
(frame_pointer_needed (frame_pointer_needed
? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM), ? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM),
frame_size, current_function_pretend_args_size); frame_size, current_function_pretend_args_size);
}
/* Save register 26 if any other register needs to be saved. */ /* Save register 26 if any other register needs to be saved. */
if (sa_size != 0) if (sa_size != 0)
...@@ -1771,7 +1777,7 @@ output_prolog (file, size) ...@@ -1771,7 +1777,7 @@ output_prolog (file, size)
} }
/* Print the register mask and do floating-point saves. */ /* Print the register mask and do floating-point saves. */
if (reg_mask) if (reg_mask && !flag_inhibit_size_directive)
fprintf (file, "\t.mask 0x%x,%d\n", reg_mask, fprintf (file, "\t.mask 0x%x,%d\n", reg_mask,
actual_start_reg_offset - frame_size); actual_start_reg_offset - frame_size);
...@@ -1788,7 +1794,7 @@ output_prolog (file, size) ...@@ -1788,7 +1794,7 @@ output_prolog (file, size)
} }
/* Print the floating-point mask, if we've saved any fp register. */ /* Print the floating-point mask, if we've saved any fp register. */
if (reg_mask) if (reg_mask && !flag_inhibit_size_directive)
fprintf (file, "\t.fmask 0x%x,%d\n", reg_mask, fprintf (file, "\t.fmask 0x%x,%d\n", reg_mask,
actual_start_reg_offset - frame_size + int_reg_save_area_size); actual_start_reg_offset - frame_size + int_reg_save_area_size);
...@@ -1798,6 +1804,7 @@ output_prolog (file, size) ...@@ -1798,6 +1804,7 @@ output_prolog (file, size)
fprintf (file, "\tbis $30,$30,$15\n"); fprintf (file, "\tbis $30,$30,$15\n");
/* End the prologue and say if we used gp. */ /* End the prologue and say if we used gp. */
if (!flag_inhibit_size_directive)
fprintf (file, "\t.prologue %d\n", alpha_function_needs_gp); fprintf (file, "\t.prologue %d\n", alpha_function_needs_gp);
} }
...@@ -1894,9 +1901,12 @@ output_epilog (file, size) ...@@ -1894,9 +1901,12 @@ output_epilog (file, size)
} }
/* End the function. */ /* End the function. */
if (!flag_inhibit_size_directive)
{
fprintf (file, "\t.end "); fprintf (file, "\t.end ");
assemble_name (file, alpha_function_name); assemble_name (file, alpha_function_name);
fprintf (file, "\n"); fprintf (file, "\n");
}
inside_function = FALSE; inside_function = FALSE;
/* Show that we know this function if it is called again. */ /* Show that we know this function if it is called again. */
...@@ -1983,7 +1993,7 @@ alpha_output_lineno (stream, line) ...@@ -1983,7 +1993,7 @@ alpha_output_lineno (stream, line)
FILE *stream; FILE *stream;
int line; int line;
{ {
if (! TARGET_GAS && write_symbols == DBX_DEBUG) if (TARGET_GAS && write_symbols == DBX_DEBUG)
{ {
/* mips-tfile doesn't understand .stabd directives. */ /* mips-tfile doesn't understand .stabd directives. */
++sym_lineno; ++sym_lineno;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment