From d960da4200c82afeac3971533607d0b30ab72a7d Mon Sep 17 00:00:00 2001 From: jsm28 Date: Mon, 15 Nov 2004 16:11:19 +0000 Subject: [PATCH] 2004-11-15 Mark Mitchell * 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". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90674 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/sol2.h | 10 ++++++++-- gcc/config/sol2.c | 5 +++-- gcc/config/sparc/sol2.h | 10 ++++++++-- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ffc4d89a19..0eeffd5303e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2004-11-15 Mark Mitchell + * 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 + * config/sol2-c.c (cmn_err_char_table): Add "p". 2004-11-15 Mark Mitchell diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 36db29e61f0..ab81c82fd7d 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 edf0eee3b41..ae34584a961 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 27398402ee4..3153830c13b 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) -- 2.11.0