diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-11-15 16:11:19 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2004-11-15 16:11:19 +0000 |
commit | dbdd0cf3095c82c73b7fb2d418562c38e44a00fe (patch) | |
tree | 323eb7dde25183e99fcd63d6d7c36b9fe1509643 /gcc | |
parent | 11559c7515d65ff631f6482d96b4cdf560e589ea (diff) | |
download | gcc-dbdd0cf3095c82c73b7fb2d418562c38e44a00fe.zip gcc-dbdd0cf3095c82c73b7fb2d418562c38e44a00fe.tar.gz gcc-dbdd0cf3095c82c73b7fb2d418562c38e44a00fe.tar.bz2 |
sol2.h (ASM_OUTPUT_CALL): Use print_operand.
2004-11-15 Mark Mitchell <mark@codesourcery.com>
* config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
* config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
* config/sol2.c (solaris_output_init_fini): Update calls to
ASM_OUTPUT_CALL. Include "rtl.h".
From-SVN: r90674
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/sol2.h | 10 | ||||
-rw-r--r-- | gcc/config/sol2.c | 5 | ||||
-rw-r--r-- | gcc/config/sparc/sol2.h | 10 |
4 files changed, 26 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ffc4d8..0eeffd5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2004-11-15 Mark Mitchell <mark@codesourcery.com> + * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand. + * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise. + * config/sol2.c (solaris_output_init_fini): Update calls to + ASM_OUTPUT_CALL. Include "rtl.h". + +2004-11-15 Mark Mitchell <mark@codesourcery.com> + * config/sol2-c.c (cmn_err_char_table): Add "p". 2004-11-15 Mark Mitchell <mark@codesourcery.com> diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 36db29e..ab81c82 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -87,5 +87,11 @@ Boston, MA 02111-1307, USA. */ #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE /* Output a simple call for .init/.fini. */ -#define ASM_OUTPUT_CALL(FILE, NAME) \ - fprintf (FILE, "\tcall\t%s\n", NAME) +#define ASM_OUTPUT_CALL(FILE, FN) \ + do \ + { \ + fprintf (FILE, "\tcall\t"); \ + print_operand (FILE, XEXP (DECL_RTL (FN), 0), 'P'); \ + fprintf (FILE, "\n"); \ + } \ + while (0) diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c index edf0eee..ae34584 100644 --- a/gcc/config/sol2.c +++ b/gcc/config/sol2.c @@ -24,6 +24,7 @@ Boston, MA 02111-1307, USA. */ #include "coretypes.h" #include "tree.h" #include "tm.h" +#include "rtl.h" #include "tm_p.h" #include "toplev.h" #include "ggc.h" @@ -105,14 +106,14 @@ solaris_output_init_fini (FILE *file, tree decl) if (lookup_attribute ("init", DECL_ATTRIBUTES (decl))) { fprintf (file, "\t.pushsection\t\".init\"\n"); - ASM_OUTPUT_CALL (file, IDENTIFIER_POINTER (DECL_NAME (decl))); + ASM_OUTPUT_CALL (file, decl); fprintf (file, "\t.popsection\n"); } if (lookup_attribute ("fini", DECL_ATTRIBUTES (decl))) { fprintf (file, "\t.pushsection\t\".fini\"\n"); - ASM_OUTPUT_CALL (file, IDENTIFIER_POINTER (DECL_NAME (decl))); + ASM_OUTPUT_CALL (file, decl); fprintf (file, "\t.popsection\n"); } } diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index 2739840..3153830 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -163,5 +163,11 @@ Boston, MA 02111-1307, USA. */ #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE /* Output a simple call for .init/.fini. */ -#define ASM_OUTPUT_CALL(FILE, NAME) \ - fprintf (FILE, "\tcall\t%s\n\t nop\n", NAME) +#define ASM_OUTPUT_CALL(FILE, FN) \ + do \ + { \ + fprintf (FILE, "\tcall\t"); \ + print_operand (FILE, XEXP (DECL_RTL (FN), 0), 0); \ + fprintf (FILE, "\n\tnop\n"); \ + } \ + while (0) |