Commit 3ba1236f by Jeff Law

pa.c (output_function_epilogue): Use assemble_integer rather than calling ASM_OUTPUT_INT directly.

        * pa.c (output_function_epilogue): Use assemble_integer rather
        than calling ASM_OUTPUT_INT directly.
        * pa.h (ASM_OUTPUT_INT): Use plabels for everything in the
        exception table section.

        * pa.c (print_operand): Don't call fprintf to output a register
        name.  Use fputs instead.

From-SVN: r10861
parent 435b1237
...@@ -2320,7 +2320,7 @@ output_function_epilogue (file, size) ...@@ -2320,7 +2320,7 @@ output_function_epilogue (file, size)
for (i = 0; i < n_deferred_plabels; i++) for (i = 0; i < n_deferred_plabels; i++)
{ {
ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (deferred_plabels[i].internal_label)); ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (deferred_plabels[i].internal_label));
ASM_OUTPUT_INT (file, deferred_plabels[i].symbol); assemble_integer (deferred_plabels[i].symbol, 4, 1);
} }
n_deferred_plabels = 0; n_deferred_plabels = 0;
} }
...@@ -3065,10 +3065,9 @@ print_operand (file, x, code) ...@@ -3065,10 +3065,9 @@ print_operand (file, x, code)
} }
if (GET_CODE (x) == REG) if (GET_CODE (x) == REG)
{ {
fputs (reg_names [REGNO (x)], file);
if (FP_REG_P (x) && GET_MODE_SIZE (GET_MODE (x)) <= 4 && (REGNO (x) & 1) == 0) if (FP_REG_P (x) && GET_MODE_SIZE (GET_MODE (x)) <= 4 && (REGNO (x) & 1) == 0)
fprintf (file, "%sL", reg_names [REGNO (x)]); fputs ("L", file);
else
fprintf (file, "%s", reg_names [REGNO (x)]);
} }
else if (GET_CODE (x) == MEM) else if (GET_CODE (x) == MEM)
{ {
......
...@@ -2018,13 +2018,20 @@ DTORS_SECTION_FUNCTION ...@@ -2018,13 +2018,20 @@ DTORS_SECTION_FUNCTION
fprintf (FILE, "\t.word 0x%lx\n", l); \ fprintf (FILE, "\t.word 0x%lx\n", l); \
} while (0) } while (0)
/* This is how to output an assembler line defining an `int' constant. */ /* This is how to output an assembler line defining an `int' constant.
This is made more complicated by the fact that functions must be
prefixed by a P% as well as code label references for the exception
table -- otherwise the linker chokes. */
#define ASM_OUTPUT_INT(FILE,VALUE) \ #define ASM_OUTPUT_INT(FILE,VALUE) \
{ fputs ("\t.word ", FILE); \ { fputs ("\t.word ", FILE); \
if (function_label_operand (VALUE, VOIDmode) \ if (function_label_operand (VALUE, VOIDmode) \
&& !TARGET_PORTABLE_RUNTIME) \ && !TARGET_PORTABLE_RUNTIME) \
fputs ("P%", FILE); \ fputs ("P%", FILE); \
if (in_section == in_named \
&& ! strcmp (".gcc_except_table", in_named_name))\
fputs ("P%", FILE); \
output_addr_const (FILE, (VALUE)); \ output_addr_const (FILE, (VALUE)); \
fputs ("\n", FILE);} fputs ("\n", FILE);}
......
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